相关原理参见:https://www.cnblogs.com/sailrancho/p/4784763.html
一、相关目录:
程序:/usr/sbin/logrotate
配置:/etc/logrotate.conf 和/etc/logrotate.d/ 和 crontab 耦合: /etc/cron.daily/logrotate
二、参数配置:
【备份规则设置:周期、文件大小】 daily,weekly,monthly 按天切割日志。可用值月:monthly 周:weekly 年:yearly size='logsize' 在日志大小大于 logsize(例如 100K,4M)时轮换 【备份文件名称】 dateext 切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,没有这个配置项会附加一个小数点加一个数字序号 rotate 5 一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。 【错误忽略、空文件、邮件通知】 missingok 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。 notifempty 如果日志文件为空,不执行切割。 errors "emailid" 给指定邮箱发送错误通知 【压缩】 compress 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。 delaycompress 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。 【脚本】 sharedscripts 只为整个日志组运行一次的脚本 prerotate 引入一个在日志被轮换前执行的脚本 postrotate 引入一个在日志被轮换后执行的脚本 endscript 标记 prerotate 或 postrotate 脚本的结束 【创建】 create 644 root root 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件 【copy】 copytruncate 创建新的catalina.out副本后,截断源catalina.out文件 【备份文件存放】 olddir "dir" 指定日志文件的旧版本放在 “dir” 中
三、命令执行:
/usr/sbin/logrotate -vf /etc/logrotate.d/nginx