命令
logrotate
描述
rotates, compresses, and mails system logs
滚动更新系统日志
用法
1
| logrotate [OPTION...] <configfile>
|
选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| Options: -d, --debug 不执行任何操作仅测试,配合-v选项使用 -f, --force 强制滚动更新日志 -m, --mail=command 指定mail命令来替换默认的/bin/mail -s, --state=statefile 指定状态文件 -v, --verbose 显示详情
常用的日志配置参数 copytruncate 先创建日志副本,然后将原日志文件置零 weekly 每周滚动更新日志 daily 每天滚动日志 hourly 每小时滚动日志 missingok 如果某个日志文件不存在则继续执行其他日志规则 dateext 在备份文件名中增加日期字段,默认为数字递增 dateyesterday 使用昨天的日期命名 compress 压缩备份 notifempty 如果日志文件是空的,则不执行滚动 ifempty 即使日志是空的也执行滚动 rotate 5 保留的备份数量 size 100M 超过指定大小则执行滚动 sharedscripts 默认每滚动更新一个日志就会执行一次postrotate命令,加上此参数则在滚动更新完所有日志后执行一次命令 create 指定用户和用户组信息,如create www www mail 指定收件人邮箱 prerotate/.../endscript 在这两个参数之间的命令将在日志滚动之前执行 postrotate/.../endscript 在这两个参数之间的命令将在日志滚动完成之后执行,如执行reload命令
|
注意
主配置文件/etc/logrotate.conf
,状态文件/var/lib/logrotate/logrotate.status
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| $ more /etc/logrotate.d/syslog /var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { copytruncate daily missingok dateext compress notifempty rotate 5 size 100M sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript }
$ more /var/lib/logrotate/logrotate.status logrotate state -- version 2 "/var/log/maillog" 2021-3-20-21:0:0 "/var/log/secure" 2021-3-20-21:0:0 "/var/log/messages" 2021-3-20-21:0:0 "/var/log/cron" 2021-3-20-21:0:0
$ logrotate -f /etc/logrotate.d/syslog $ more /var/lib/logrotate/logrotate.status logrotate state -- version 2 "/var/log/maillog" 2021-3-21-22:42:46 "/var/log/secure" 2021-3-21-22:42:46 "/var/log/messages" 2021-3-21-22:42:46 "/var/log/cron" 2021-3-21-22:42:46 $ ll /var/log/*.gz -rw------- 1 root root 1052 Mar 21 22:40 /var/log/cron-20210321.gz -rw------- 1 root root 401 Mar 21 21:45 /var/log/maillog-20210321.gz -rw------- 1 root root 207314 Mar 21 22:40 /var/log/messages-20210321.gz -rw------- 1 root root 2279 Mar 21 21:56 /var/log/secure-20210321.gz
|