Linux Logrotate每天精确地轮转日志文件的内容

时间:2018-07-10 09:39:59

标签: linux ubuntu unix logrotate

我用logrotate旋转我的Nginx访问日志文件,并具有以下配置:

/var/www/logs/*.log {
    daily
    missingok
    dateext
    dateformat _%Y-%m-%d
    dateyesterday
    rotate 90
    compress
    delaycompress
    compressext
    notifempty
    create 0640 www-data www-data
    sharedscripts
    postrotate
           [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
    endscript

}

例如,当cron在凌晨5点运行该脚本时,文件中凌晨0点至凌晨5点之间的所有日志将被轮换。 我想要一个从午夜到晚上11.59整整一天的日志文件

是否有机会进行配置?

4 个答案:

答案 0 :(得分:1)

实际上,最好将cron.daily的时间表更改为如下所示:

$ grep daily /etc/crontab 
59  23  * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

请记住,这对/etc/cron.daily中的每个脚本都有效:

$ ls /etc/cron.daily -l
total 48
-rwxr-xr-x 1 root root  376 nov 20  2017 apport
-rwxr-xr-x 1 root root 1478 abr 20  2018 apt-compat
-rwxr-xr-x 1 root root  355 dic 29  2017 bsdmainutils
-rwxr-xr-x 1 root root 1176 nov  2  2017 dpkg
-rwxr-xr-x 1 root root  372 ago 21  2017 logrotate
-rwxr-xr-x 1 root root 1065 abr  7  2018 man-db
-rwxr-xr-x 1 root root  539 jun 26  2018 mdadm
-rwxr-xr-x 1 root root  538 mar  1  2018 mlocate
-rwxr-xr-x 1 root root  249 ene 25  2018 passwd
-rwxr-xr-x 1 root root 3477 feb 21  2018 popularity-contest
-rwxr-xr-x 1 root root  246 mar 21  2018 ubuntu-advantage-tools
-rwxr-xr-x 1 root root  214 jun 27  2018 update-notifier-common

但是如果你需要一个具体的时间表,只是一个logrotate的规则,选出答案将是一种选择。

答案 1 :(得分:0)

要在晚上11.59旋转日志,请按以下步骤配置/ etc / crontab文件: 0 0 * * * -f 例如。 0 0 * * * / usr / sbin / logrotate -f / var / www / logs / *。log

答案 2 :(得分:0)

要在晚上11.59旋转日志,请按以下步骤配置/ etc / crontab文件:     0 0 * * * -f     例如。 0 0 * * * / usr / sbin / logrotate -f / var / www / logs / *。log

答案 3 :(得分:0)

要在11.59pm轮换日志,请按以下步骤配置/ etc / crontab文件:

0 0 * * * <path_to_logrotate_command> -f <path_to_logrotate_schedule_file> 
E.g. 0 0 * * * /usr/sbin/logrotate -f /var/www/logs/*.log