BeWithYou

胡搞的技术博客

运维/工具

mongoDB时间timezone问题


之前有个工具性质的内部系统,为了尝尝鲜,我选择了用mongo作为数据库。中间踩过不少坑,后来整理了一个PPT做了次内部分享。结果就没几个人来听…… 尴尬 今天发现了个有关时间的问题,记录一下。 之前我们记录时间用的是unix时间戳,后来想用按日期分组的功能,发现比较困难。因为mongo里关于日期的分组函数都是基于ISODate型数据的。看起来是这样的: db.getCollection(……
运维/工具

有关TRUNCATE不能事务回滚


今天做一个从文本全量导入数据库的功能,每次全量更新表里的数据。想法是在事务里先truncate掉表格,然后批量insert进去,出错则rollback,全部insert成功则commit。 然而发现一个问题,truncate以后即使回滚了也不能回到最初的状态。查了一下,truncate属于DDL语句,执行的时候是隐含着自动commit的,所以并不能在事务里使用。 简要记一下MySQL中数据语言的概念: 数据查询语……
运维/工具

awk扫描分析nginx访问日志


年底感觉没啥活干,尤其是在年底跳槽到新公司,更是没什么重要的项目可以做。老大布置任务,要做一个平台统计每个站点后台的nginx日志,针对url维度分析访问量,加载时间等。 当时设想是这样的,扫描任务部署在线上nginx机器上,定时执行。用shell脚本分析日志,然后找一台开发虚拟机部署管理后台,从shell脚本curl给php接口上报统计结果。 设想的挺好,但是等shell脚本写完以后放到……
运维/工具

awk常用备忘


使用方法: awk [-F re] 'pattern + {action}' xxx.txt 以下均省略文件输入 用-F指定分隔符: awk -F ';' '{print $1}' 工作流,BEGIN和END: awk 'BEGIN {print "name,sex"} {print $1","$2} END {print "me,male"}' 先执行BEGIN 然后读取输入一次执行中间的{} 最后执行END 正则pattern: awk '/hug……
运维/工具

crontab部署遇到的一个坑


同事部署定时器的时候遇到一个问题。任务执行的时间与设想的不一样。 需求如下:一个任务需要每8小时执行一次,按照网上大部分说法,应该这么写时间格式: * */8 * * * /bin/sh xxx.sh 2>&1 其实不对啊!!! 上面这种写法要表达的意思实际上是“每隔8小时,每分钟跑一次”。这样的话实际上任务运行的时间依次为:   ……
运维/工具

Mac下访问samba服务


现在的代码放在私有的开发机上,做了一个samba服务将工作目录共享给win/mac机器,这样IDE就可以直接打开当做硬盘文件使用了。不过小组其他同学都是直接vim写代码的,鄙人脑笨手拙,还是IDE吧。 之前pc机使用smb很方便,直接把smb映射一下网络磁盘即可。现在带自己的mac来办公,每次需要走safari打开smb://xxx.xxx.xxx.xxx的地址,很不方便。写了个简单的shell脚本,可以挂载smb服务的磁盘。 ……
回到顶部