• 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: 日志按天轮询。也可以设为weeklymonthlyyearly
    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/会看到日志文件中有对应的日期

  • 相关阅读:
    [C4] 前馈神经网络(Feedforward Neural Network)
    [C3] 正则化(Regularization)
    [C2] 逻辑回归(Logistic Regression)
    [C1] 线性回归(Linear Regression)
    Python基础学习
    装饰器
    完全理解Python迭代对象、迭代器、生成器
    django自己搭建的博客
    git学习,哇瑟说实话我想要的
    类继承和多态,子类重写构造函数,多重继承学习
  • 原文地址:https://www.cnblogs.com/steinven/p/16358356.html
Copyright © 2020-2023  润新知