Nginx Apache 日志分割脚本

现在 VPS 的 Web 环境是 LNAMP,效率很好,但配置 vhost 要麻烦一些,于是把原来 nginx 的日志分割脚本改成现在的:

#!/bin/bash
# This script run at 00:00

# The log path
nginx_log_path="/var/log/nginx/"
httpd_log_path="/var/log/httpd/"

# Yesterday
yesterday=$(date -d "yesterday" +"%Y-%m-%d")

mv ${nginx_log_path}access.log ${nginx_log_path}access_$yesterday.log

for log in ${httpd_log_path}*-access_log; do
        mv $log $log-$yesterday
done

kill -USR1 $(cat /var/run/nginx.pid)

kill -USR1 $(cat /var/run/httpd.pid)

保存为 /home/script/cutlog.sh,然后添加 crontab:

chmod +x /home/script/cutlog.sh
crontab -e
0 0 * * * /bin/bash /home/script/cutlog.sh

* 注:kill -USR1 {pid} 意思是向进程发送重新打开日志文件的命令,否则即使重命名,日志仍写入重命名后的文件。

发表评论

电子邮件地址不会被公开。 必填项已用*标注