logrotate是linux自带的日志分割工具,如果没有可以用yum安装 yum -y install logrotate
要配置日志分割定时任务,需要在/etc/logrotate.d/下创建一个名为catalina的配置文件 (注:logrotate.d目录下的配置文件是用作logrotate.conf的补充) touch /etc/logrotate.d/catalina
以下是配置文件内容,可以选择vi/vim编辑catalina配置文件输入内容 /home/tomcat/logs/catalina.out {daily
也可以选择用echo命令输入内容到catalina配置文件 1 echo -e "/home/tomcat/logs/catalina.out\n 2 {\ndaily\nrotate7\nmissingok\ndateext\ncompress\nnotifempty\ncopytruncate\n}">/etc/logrotate.d/catalina 这里 echo 必须加 -e 参数启用转义字符,引号必须使用 双引号。不然会出现无法换行等格式错误。
输入完记得 cat /etc/logrotate.d/catalina
查看一下配置文件内容是否正确。
确认无误后,修改/etc/anacrontab来决定任务执行时间 修改之前先对其进行备份 cp /etc/anacrontab /etc/anacrontab.bak
备份后对其进行修改 sed -i 's/START_HOURS_RANGE=3-22/START_HOURS_RANGE=1-22/g' /etc/anacrontab START_HOURS_RANGE=3-22指的是任务在凌晨三点到二十二点之间执行,我们想让它在凌晨1~22点执行,故修改为 START_HOURS_RANGE=1-22 pssh -h ip.list -P 'touch /etc/logrotate.d/catalina; echo -e "/home/tomcat/logs/catalina.out\n{\ndaily\nrotate7\nmissingok\ndateext\ncompress\nnotifempty\ncopytruncate\n}">/etc/logrotate.d/catalina; cp /etc/anacrontab /etc/anacrontab.bak; sed -i 's/START_HOURS_RANGE=3-22/START_HOURS_RANGE=1-22/g' /etc/anacrontab' 还原命令: pssh -h ip.list -P 'mv /etc/anacrontab.bak /etc/anacrontab;rm -f /etc/logrotate.d/catalina'
至此,日志分割定时任务配置完成。 |
|