supervisor 按天备份日志
参考使用 logrotate 配置 supervisor 进行日志管理按天备份
supervisor
默认的日志备份策略是按大小备份,经常不知道去哪个文件查日志的烦恼。本文通过设置 logrotate
来进行日志安排备份
配置文件
logrotate
的配置文件默认存放在 /etc/logrotate.d
下
新建一个配置文件vim /etc/logrotate.d/log-file
,内容如下,注意第一行是对应的supervisor
产生日志的匹配:
/var/log/supervisor/log_file*.log {
daily
rotate 30
dateext
dateyesterday
copytruncate
delaycompress
compress
missingok
notifempty
}
daily
: 日志按天轮询。也可以设为weekly
、monthly
、yearly
rotate
: 备份数,超过的会删除
dateext
: 备份文件名包含日期信息
dateyesterday
用昨天的日期做后缀,因为日志一般是凌晨备份前一天的数据,如果不用这个参数,会造成,日志文件显示的日期和实际不是一天
copytruncate
: 首先将目标文件复制一份,然后在做截取(truncate)。这样做就防止了直接将原目标文件重命名引起的问题。
delaycompress
:与compress
选项一起用,delaycompress
选项指示logrotate
不将最近的归档压缩,压缩将在下一次轮循周期进行 就是最新两个日志文档不压缩
compress
: 压缩文件。如果不想压缩 可以和delaycompress
一起去掉
missingok
: 忽略错误
notifempty
: 如果没有日志 不进行轮询
修改supervisor日志配置
修改对应的配置文件/etc/supervisor/conf.d/xxxxxx.conf
,如果还不起作用,看一下全局配置文件/etc/supervisor/supervisord.conf
# no limit on the size
stdout_logfile_maxbytes=0
stderr_logfile_maxbytes=0
# no backup with supervisor
stdout_logfile_backups=0
stderr_logfile_backups=0
测试
测试:
logrotate -d /etc/logrotate.d/log-file
如果轮询的条件不满足,上面的命令不会执行,这个时候可以用下面这条命令来达到效果, -f
强制轮询 -v 打印logrotate
日志
logrotate -vf /etc/logrotate.d/log-file
验证:
ls -alth /var/log/supervisor/
会看到日志文件中有对应的日期
最新文章
- C++中的 :: 用法
- RedisCacheTool参考其中的文件读写功能
- CentOS下挂在NTFS分区
- webdriver 操作 Firefox 在关闭浏览器时弹出 “Plugin Container for Firefox已停止工作” 处理办法。
- 使用Alcatraz为Xcode安装XActivatePowerMode插件, 从此敲代码逼格大大滴~
- ASP.NET打印EXCEl报表技术总结
- OMCS开发手册(04) -- 二次开发流程
- angular : direative : scope | 指令scope和transclude的关系
- jquery获取文件名称
- tomcat 与 java web中url路径的配置以及使用规则详情(长期更新)
- Unity UGUI基础之Slider、Scrollbar
- L - Tic-Tac-Toe FZU - 2283 (思维)
- JS浮点计算精度问题分析与解决
- hive sql求多个字段的最小值和最大值的办法
- Android adb logcat使用技巧
- sqoop1 使用测试
- Docker实战(八)之Web服务与应用
- pycharm设置字体大小
- 【python】-- web框架本质
- PHP保存Base64图片base64_decode的问题