我有一个每小时的cron脚本,它接受一些输出(一个
mysql转储),通过gzip管道,并旨在覆盖一个同名的文件.当我以root身份手动运行时,文件被覆盖.当它由cron守护程序运行时,文件名附加了“.1”.这种情况一直在发生,所以过了一段时间我有很多这样的文件:
myfile.gz myfile.gz.1 myfile.gz.1.1 myfile.gz.1.1.1 myfile.gz.1.1.1.1
等等.
ps aux | grep crond显示守护程序以root身份运行.
我试过了:
>重命名原始文件,推送输出,然后在完成时删除旧文件,和
>在输出管道之前删除原始文件
但是没有按预期工作,我只得到.1.1.1.1文件.
脚本看起来像这样(没什么特别的),位于/etc/cron.hourly的CentOS盒子上:
#!/bin/bash DATE=`date +%H` DIR="/abs/path/to/dir" FILE="hourly-${DATE}.gz" OPTS="..." MysqLdump $OPTS | gzip -9 > $DIR/$FILE
任何人都可以建议为什么这个简单的操作没有按预期运行?