cut_nginx_log.sh
cd /application/nginx/logs
/bin/mv www_access.log www_access_$(date '+%F').log
/application/nginx/sbin/nginx -s reload
/usr/bin/rsync /application/nginx/logs/www_access_$(date '+%F').log rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
/bin/find /application/nginx/logs -type f -name 'www_access_*.log' -mtime +7 -exec rm -f {} \;
说明:
(1)由于原www_access.log文件仍然被占用,因此这里要(平滑)重启Nginx
(2)推送到备份服务器(备份服务器的配置省略)
(3)删除7天前的日志
上述脚本文件放在web服务器上,通过添加定时任务来执行
00 01 * * * /bin/sh /server/scripts/cut_nginx_log.sh > /dev/null 2>&1