В моем 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, есть ли способ повернуть этот файл?
Предполагая, что у вас есть права 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
очищается.