crontab中命令的备用日志位置

时间:2013-06-24 12:01:56

标签: ubuntu logging crontab

当我们将* * * * * myTask.sh 2>&1 >> /var/log/myTask.log添加到crontab时,所有日志都输入到myTask.log但是,我想知道我们是否有任何方式可以提供备用位置(即使它是{{1}因此,如果由于某种原因该位置无法访问(由于删除或权限),作业不应受到影响。

如果我们能够做到这一点,请告诉我。

1 个答案:

答案 0 :(得分:0)

一个想法是使用sponge包中的moreutils。也就是说,sudo apt-get install moreutils,然后:

* * * * * myTask.sh 2>&1 | sponge /var/log/myTask.log

程序海绵吸收所有输入,然后只在最后写入。这意味着在程序完成之前,不会检查文件的权限或其他任何内容。在缺点方面,海绵将消耗尽可能多的内存以缓冲其输入,因此如果你的程序打印很多,这可能是不可取的。