16.04 - 如何在一定时间后自动删除日志并重新启动填满日志文件的进程?

・1 分钟阅读

问题:

服务器是Ubuntu 16.04。我有一个运行nohup的进程登录到本地文件。 此文件变得足够大以消耗100%的磁盘空间。 要解决这个问题,我必须先终止进程,然后删除日志文件。 然后我重新开始。 我怎么能用脚本或其他工具解决这个问题?


回答 1:

我想你可以使用nohup启动脚本/程序


nohup scriptname 1>logfile.log 2>& &



我建议不要删除日志文件只是为了清除


echo -n> logfile.log



如果删除/移动打开的文件,它将被写入,直到进程关闭文件或进程结束。


回答 2:

使用 logrotate,你可以配置日志文件有多大或者经过多少时间:

  • 日志文件被rotate(log.n变为log.n 1,最后一个日志文件被删除)

  • 当前日志文件被截断而不干扰写入过程。

看看 man 8 logrotate


Tianye profile image