只有在有输出的情况下,cron才会创build输出文件

我有一个调用脚本的cronjob。 我想把输出放在一个日志文件中。 问题是即使没有输出,也会创build日志文件。

由于这项工作每小时运行一次,而且大部分无关。 我结束了很多0字节的文件。

我可能追加到一个单一的日志文件,但我不知道是否有一个技巧来防止日志文件被创build或删除它,如果它是空的。 (我真的不想在第一个之后运行第二个cron-job来清理)

一个复杂的事实是日志文件名附有date/时间。 crontab中的行看起来有点像这样:

/your/script.sh config.txt > outfilepath_`date +\%Y-\%m-\%d_\%H\%M`.html 

我想这意味着我必须将date存储在一个variables中,然后检查该文件是否被创build/清空。 所以如果我拿Stone的答案,我会得到如下结果:

 logfile=outfilepath_`date +\%Y-\%m-\%d_\%H`; your/script.sh config.txt > $logfile; if [! -s $logfile]; then rm $logfile; fi 

但是我不知道在crontab里面是否有可能

你可以写这样的东西:

 /your/script > /your/log/file; if [ ! -s /your/log/file ]; then rm /your/log/file; fi