方案一

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.


每一个平凡的日常都是连续的奇迹