如何从crontab旋转日志文件?

Modified on: Mon, 15 Apr 2019 20:20:02 +0800

我的crontab上有这个指令:

* * * * * /var/www/github/mysite/bin/email email worker await --pid=/var/run/mysite-worker-email.pid >> /tmp/mysite-worker-email.log

正如您所看到的所有日志都是用 /tmp/mysite-worker-email.log 编写的,有没有办法可以旋转该文件?

作者:DomingoSL

最佳答案

假设您在计算机上拥有root权限。如果您在共享主机上,无论如何SF都是错误的站点。

检查/etc/logrotate.conf/etc/logrotate.d是否存在。如果他们这样做,添加一个具有拟合名称的文件,例如site_email进入/etc/logrotate.d,内容如下:

/tmp/mysite-worker-email.log {
   compress
   daily 
   missingok
   rotate 7
}

这将每天轮换日志文件,并保留最近7天的压缩副本。 logrotate还有更多选项,请参阅man logrotate.conf以获取所有选项。

请注意:将日志文件保存在/tmp中是一个坏主意。将它们放入它们所属的/var/log/中,特别是如果你想保留更多的日志文件副本并且不希望它们在/tmp时被删除被清理干净了。

作者:Sven

相关问答

添加新评论