加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – Logrotation – 过早发射的postrotate?

发布时间:2021-03-06 06:31:47 所属栏目:Linux 来源:网络整理
导读:我有一个看起来像这样的配置文件: /var/log/nginx/*.log { daily missingok rotate 90 dateext compress notifempty create 644 root adm sharedscripts postrotate [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` /usr/local/bin/sy

我有一个看起来像这样的配置文件:

/var/log/nginx/*.log {
        daily
        missingok
        rotate 90
        dateext
        compress
        notifempty
        create 644 root adm
        sharedscripts
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
                /usr/local/bin/synclogs.sh
        endscript }

synclogs.sh应该在所有日志文件都已旋转和压缩时运行.该脚本确实成功启动,但是当它开始运行时,程序找不到logrotate应该生成的任何.gz文件.几分钟后我手动运行脚本,开始很好.

根据我发现的文档,postrotate不应该在压缩完成之前启动.那不是这样吗?这是Debian Squeeze中提供的logrotate中的错误还是我错过了一些非常简单的东西?

解决方法

你试过这个:
/var/log/nginx/*.log {
        daily
        missingok
        rotate 90
        dateext
        compress
        **delaycompress**
        notifempty
        create 644 root adm
        sharedscripts
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
                /usr/local/bin/synclogs.sh
        endscript }

看一下delaycompress选项,当然没有“*”HTH

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读