1、编辑配置文件,放到/etc/logrotate.d目录下
[root@yc202 logrotate.d]# cat wsxRunLogRotate.conf
/usr/local/streamcache/log/run.log {
rotate 30
size 100M
missingok
copytruncate
}
2、查看定时任务执行脚本里面有没有logrotate命令
比如:查看
/etc/cron.daily/目录下是否有logrotate,如果有,表示每天都会执行下logroate命令
cat logroate可以看到内容为/usr/sbin/logrotate /etc/logrotate.conf
cat /etc/logrotate.conf可以看到include
/etc/logrotate.d这样的字样,表示咱们自己放上去的wsxRunLogRotate.conf脚本会被执行了
3、有时候会发现,奇怪,明明放上去了,为什么老是rotate不了呢
手工执行下命令,会发现报错,需要保证脚本的正确性。
[root@yc202 cron.daily]# /usr/sbin/logrotate
/etc/logrotate.conf
error: error accessing /usr/local/tvie/var/logs: No such file or
directory
error: tvie:1 glob failed for /usr/local/tvie/var/logs/*.log
4、上面使用的是系统的logrotate命令,我们可以自己写脚本,丢到定时执行目录下,如下
cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/
自己脚本内容可以参考如下:
[root@stream112 wsXServerLogRotate]# cat
wsxserver-run-log-rotate
#!/bin/sh
/usr/sbin/logrotate
/etc/logrotate.d/wsxserver-run-log-rotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with
[$EXITVALUE]"
fi
exit 0
其实就是logrotate脚本拿过来,改头换面的。