当我们将* * * * * myTask.sh 2>&1 >> /var/log/myTask.log
添加到crontab时,所有日志都输入到myTask.log
但是,我想知道我们是否有任何方式可以提供备用位置(即使它是{{1}因此,如果由于某种原因该位置无法访问(由于删除或权限),作业不应受到影响。
如果我们能够做到这一点,请告诉我。
答案 0 :(得分:0)
一个想法是使用sponge
包中的moreutils
。也就是说,sudo apt-get install moreutils
,然后:
* * * * * myTask.sh 2>&1 | sponge /var/log/myTask.log
程序海绵吸收所有输入,然后只在最后写入。这意味着在程序完成之前,不会检查文件的权限或其他任何内容。在缺点方面,海绵将消耗尽可能多的内存以缓冲其输入,因此如果你的程序打印很多,这可能是不可取的。