关于如何旋转nohup生成的输出文件,有几个问题。 大多数的答案说使用copytruncate选项使用logrotate 。
然而,这实际上并没有工作 – 当发生旋转时,它会创build旋转的日志文件,但是原始文件实际上并未被截断,并且继续添加日志输出。
这也会发生,如果我不使用nohup ,只是运行myscript.py >>myscript.log (所以基本上copytruncate似乎完全无用)。
什么是“正确”的方式来做到这一点? (如果需要自定义脚本,首选Bash或Python。)
正确的方法是编写myscript.py以便写入日志文件而不是标准输出,并通过closures并重新打开日志文件来响应信号。