方案一
logrotate + crontab
logrotate 配置文件
|系统环境|配置路径|
|-------|-------|
|centos 7|/etc/logrotate.d|
配置示例文件 test
su root root #配置文件访问权限(可选)
/opt/logs/*.out /opt/logs/*.log
{
copytruncate
daily
rotate 10
missingok
compress
size 10M
dateext
dateformat .%Y-%m-%d
}
执行指令
- logrotate -d /etc/logrotate.d/test #debug测试执行,不会真正执行
- logrotate -f /etc/logrotate.d/test #强制执行切割
- logrotate /etc/logrotate.d/test #执行切割
为了每日进行切割,结合定时任务 crontab,可以每天定时轮转日志文件
crontab 任务示例
0 0 * * * /usr/sbin/logrotate -f /etc/logrotate.d/tms
查看日志轮转操作日志指令
- crontab -e #编写定时执行任务
- crontab -l #查看定时任务
- cat /var/log/syslog | grep CRON #查看定时执行日志
Q.E.D.