centos – 使用cronolog压缩日志

前端之家收集整理的这篇文章主要介绍了centos – 使用cronolog压缩日志前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一堆服务器(Centos 5.x)与Apache一起使用cronolog旋转日志.在一段时间后自动压缩和删除这些日志的最佳策略是什么?
CustomLog“| /usr/sbin / cronolog /var/log/httpd/my.examplehost.com/access_log-%Y%m%d”常见

我正在考虑创建一个刚才说的cron脚本

gzip /var/logs/httpd/my.examplehost.com/*

但是,这是否也试图压缩apache当前正在写入的文件?在cronolog主页上只提到你应该写你的cron工作或类似的但没有说明如何做到这一点.

Logrotate确实是这项工作的工具,但如果你不能使用它,那么你可以使用find和-ctime patameter
find /var/logs/httpd/my.example.host.com/ -ctime +0 -not -name '*.gz' -exec gzip {} \;

应该做你想要的,因为它找到了更改的文件> 24小时前还没有压缩并压缩它们.

为了确保您正在处理的文件仍未打开,您可以执行类似的操作

#!/bin/bash
for file in $(find /var/logs/httpd/my.example.host.com/ -ctime +0 -not -name '*.gz')
do
    lsof | grep $file
    if [$? -eq 1 ]
    then
        gzip $file
    fi
done

猜你在找的CentOS相关文章