Nginx日志切割与定时清理

1,397 阅读1分钟

一、Nginx日志定时切割

日志切割

1.新建脚本
#新建文件
touch cut_nginx_logs.sh
2.编写脚本
vim cut_nginx_logs.sh
脚本内容如下:
#!/bin/bash
#日志目录
log_path=/usr/local/nginx/logs
#获取昨天日期
yesterday=$(date -d "yesterday" +%Y-%m-%d)
#将access.log、error.log重命名为昨天日期
mv ${log_path}/access.log ${log_path}/access_${yesterday}.log
mv ${log_path}/error.log ${log_path}/error_${yesterday}.log
#发送USR1信号,重新打开日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
3.授权
chmod +x cut_nginx_logs.sh
4.定时任务
crontab -e
内容如下:
#!/bin/bash
#每天23点59分执行 /usr/local/nginx/logs/cut_nginx_logs.sh脚本
59 23 * * * bash /usr/local/nginx/logs/cut_nginx_log.sh

二、Nginx日志定时清理

定时清理

1.新建脚本
#新建文件
touch clear_nginx_logs.sh
2.编写脚本
vim clear_nginx_logs.sh
脚本内容如下:
#!/bin/bash
#日志路径
log_path="/usr/local/nginx/logs"
#保留7天内的日志
find ${log_path} -mtime +7 -exec rm {} \ ;
3.授权
chmod +x clear_nginx_logs.sh
4.定时任务
crontab -e
内容如下:
#!/bin/bash
#每天23点50分执行 /usr/local/nginx/logs/clear_nginx_logs.sh脚本
50 23 * * * bash /usr/local/nginx/logs/clear_nginx_logs.sh