问题 最近我们遇到了一个问题,我们有的Job是常驻的,输出的日志是固定为了,例如如下命令(once.sh 是一个死循环的脚本),这样所有的命令都要输出日志到 notice_wechat.log{ /bin/sh jobs/bin/once.sh notice/wechat ;} >> /data/logs/jobs/notice_wechat.log 2>&1 如果使用默认的logrotate【logrotate基础传送门】的配置,就会重命名然后生产一个新文件,例如 notice_wechat.log_20221020 。但是进程是常驻的,切割之后日志会输出到 notice_we
服务器经常会产生各种各样的日志文件,我们需要定期清理日志的分类系统日志应用日志系统日志例如系统的history 历史信息 crontab的运行日志 一般系统日志系统都帮我们运维好了,不需要额外配置应用日志例如nginx 的access 和 error 日志 ,php框架的运行日志,这些日志是我们排查问题的有力证据工具logrotatelogrotate是什么logrotate是大多数linux系统自带的日志切割工具logrotate的适用场景logrotate常用来切割仍在被写的“动态”文件,它支持 按时间间隔或文件大小 来触发文件的自动切分(automatic rotation)实战按天保存一周的Nginx日志压缩文件,保留30天,配置文件为「/etc/logrotate.d/nginx」最后代码如下(本人ubuntu系统)/data/logs/nginx/*.log {
&nb