日志滚动服务:所有的日志文件都会随着时间的推移和访问次数的增加而迅速增长,因此必须对日志文件进行定期清理,以免造成磁盘空间的不必要的浪费,同时也加快了管理员查看日志所用的时间。因而logrotate就非常有存在的必要了,RedHat系统默然安装logrotate,利用 logrotate设置了相关对rsyslog日志迅速增长的设置。logrotate的执行由crond服务实现。在/etc/cron.daily目 录中,有个logrotate,是个shellscript,用来启动logrotate。
logrotate程序每天由cron在指定的时间 (/etc/crontab)启动。
sed -e '/^#/d' -e '/^$/d' /etc/logrotate.conf weekly #每周清理一次日志文件 rotate 4 #保存四个轮换日志 create #清除旧日志的同时,创建新的空日志文件 dateext #使用日期为后缀的回滚文件 #可以去/var/log目录下看看 include /etc/logrotate.d #包含/etc/logrotate.d目录下的所有配置文件 /var/log/wtmp { #对/var/log/wtmp这个日志文件按照下面的设定日志回滚 monthly #每月轮转一次 create 0664 root utmp #设置wtmp这个日志文件的权限,属主,属组 minsize 1M #日志文件必须大于1M才会去轮换(回滚) rotate 1 #保存一个轮换日志 } /var/log/btmp { missingok #如果文件丢失不报错 monthly create 0600 root utmp rotate 1 } [root@demo ~]# cat /etc/logrotate.d/syslog /var/log/cron #这些文件是rsyslog.conf文件中全局配置定义中指定的Target的路径 /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { sharedscripts postrotate # 轮换之后重启rsyslog服务 /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript } sed -e '/^#/d' -e '/^$/d' /etc/logrotate.conf weekly #每周清理一次日志文件 rotate 4 #保存四个轮换日志 create #清除旧日志的同时,创建新的空日志文件 dateext #使用日期为后缀的回滚文件 #可以去/var/log目录下看看 include /etc/logrotate.d #包含/etc/logrotate.d目录下的所有配置文件 /var/log/wtmp { #对/var/log/wtmp这个日志文件按照下面的设定日志回滚 monthly #每月轮转一次 create 0664 root utmp #设置wtmp这个日志文件的权限,属主,属组 minsize 1M #���志文件必须大于1M才会去轮换(回滚) rotate 1 #保存一个轮换日志 } /var/log/btmp { missingok #如果文件丢失不报错 monthly create 0600 root utmp rotate 1 } [root@demo ~]# cat /etc/logrotate.d/syslog /var/log/cron #这些文件是rsyslog.conf文件中全局配置定义中指定的Target的路径 /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { sharedscripts postrotate # 轮换之后重启rsyslog服务 /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript }