在/etc/logrotate.d/目录下创建日志外部切分的配置文件celery,通过外部方式对日志文件进行切分
# 指定被切分的日志文件所在的路径(即定时任务指定的日志的绝对路径)
# 指定被切分的日志文件所在的路径(即定时任务指定的日志的绝对路径)
/root/celery_logging/*.log{ # 按小时切分,也可以换成自己需要的,如:daily按天 hourly missingok # 保存的日志文件数量 rotate 7 compress delaycompress notifempty # 设置切分日志 copytruncate ---------------------------------------- root@OaaS:/etc/logrotate.d# cat zabbix-agent /var/log/zabbix/zabbix_agentd.log { weekly rotate 12 compress delaycompress missingok notifempty create 0640 zabbix zabbix }
在celery定时任务的main.py所在目录执行启动命令重新启动定时任务,如果不指定日志文件,会在当前目录下生成默认日志文件如work.log,work-1.log,work-2.log
执行命令/usr/sbin/logrotate -f /etc/logrotate.conf,使刚才编写的配置文件/etc/logrotate.d/celery生效,此时即完成日志切分了,并且后续会按照设置的周期进行切分,按设置的数量保留日志文件的个数
注意:以上命令需要使用root权限执行,redhat或centos上使用su并输入密码切换到root,ubuntu上在命令前加上sudo并输入密码用root权限执行