linux下删除空目录

数据中心服务器上,用户创建元数据后,会自动创建一个对应的数据目录,若最终用户放弃了该元数据,则此数据目录也就无用了。这种情况下,此类数据目录多数为空,因此需要定期清理这类数据目录。

在linux下清理数据目录的命令,可以用find处理:

find /upload_dir -type d -empty | xargs -exec rmdir;

若要定期清理,可以将此命令加入到root帐号的cron列表中,建议1个月清理一次即可。

用gnuplot画双轴曲线时序图

时序图是常见的一种数据绘图,要画出类似excel中的双y坐标轴曲线图,可以在gnuplot如此处理:

set xdata time
set xlabel ‘ ‘
set timefmt “%Y-%m”
set grid
set y2range [0:50]
set ylabel ‘Datasets’
set y2label ‘Orders’
set timefmt “%Y-%m”
set xrange [‘2010-08′:’2012-12’]
set format x ‘%Y-%m’
set xtics nomirror rotate by -45
plot “water-service.txt” using 1:2 smooth csplines lw 2 lc rgb ‘red’ title ‘Datasets’,” u 1:2 w points pt 4 lc rgb ‘red’ t ”, ” using 1:3 axes x1y2 smooth csplines lc rgb ‘blue’ title ‘Orders’, ” u 1:3 axes x1y2 w points pt 4 lc rgb ‘blue’ t ”

数据如下:
Continue reading “用gnuplot画双轴曲线时序图”

php下mkdir不能设置777的问题

在php里,用mkdir可以创建一个目录,按照官方文档的说明,默认mode参数为0777,但实际测试结果,默认情况下为755。

sudo su www-data
php -r "mkdir('test');"
ls -l

显示结果为:

drwxrwxr-x 2 www-data www-data 4096  9月 17 12:05 test

即使指定mode,结果也是一样:

php -r "mkdir('test',0777);"

搜索后发现是需要先行umask处理,参考这个帖子

因此,最终处理方法是:

php -r "$old=umask(0);mkdir('test');umask($old);"

postgresql 9.1和8.3系列共存产生的问题

主力服务器升级到最新版本的ubuntu后,postgresql变为9.1版本,而另外还有一台服务器还没有升级,还是默认的8.3版本,同时9.1版本的postgresql中默认还有一个视图是通过dblink连接到8.3版本的postgresql上的,结果这几天发生了很奇怪的问题,即在这个视图上有个字符串字段,里面包括了一些Windows硬盘的目录信息,如:D:\ftphome等,而升级后发现这个目录信息会变为:D:\x0c之类的信息。

经检查,是postgresql在升级到9.1后,有一项特性发生了改变:即\不再作为默认转义符号了,除非你使用E前缀声明指定。而8.3版本和9.1版本二者的默认方法不同,导致了在9.1的视图中产生的正确结果到8.3版本的库里发生了变化,而导致信息不正确。

解决方法也很简单,修改8.3版本的postgresql.conf文件:

standard_conforming_strings=on

linux shell获取当前文件的时间

主要的目的是想用文件的创建时间给文件重新命令。这在从数码相机中导入录像的时候有用。

stat geoserver-1.6.5-bin.zip | grep Modify | awk ‘{print $2 $3}’ | cut -d”.” -f1 | sed -e ‘s/-//g’ -e ‘s/://g’

或者:

stat -c %y geoserver-1.6.5-bin.zip | awk ‘{print $1 $2 $3}’ | cut -d”.” -f1 | sed -e ‘s/-//g’ -e ‘s/://g’

skype for linux支持视频了

skype for linux 2.0.0.13发布了,是一个beta版本,但开始支持视频了!
这是一个期待了很长时间的特性。
期间,曾经试验了其他的支持视频的软件,比如,我曾经尝试过ekiga、openwengophone,但最后都还是放弃了。(ekiga是因为缺少一个稳定的windows版本,而wengophone则一直是处于不稳定状态,且连接国内有时会断)。
这个skype的beta版本试用中间不是很稳定,崩溃过一次。

更酷的top:htop

一直对top显示的内容一知半解,没想到还有一个更酷的东西:htop。
感谢pczou介绍
在ubuntu下安装倒是非常简单:

sudo aptitude install htop

运行起来,可以支持方向键移动了。

* 可以进行水平或竖直滚动 (总算可以看到所有进程和全部命令行了)
* 可以跟踪进程 (通过集成strace实现)
* 主页面上显示常用功能项,很方便。top里可以要’h’一下。
* 支持进程树状显示
* 可以按名称查找进程
* 支持鼠标