⼀:切割
#!/bin/bash
#此脚本⽤于⾃动分割Nginx的⽇志,包括access.log和error.log
#每天00:00执⾏此脚本 将前⼀天的access.log重命名为access-xxxx-xx-xx.log格式,并重
新打开⽇志⽂件
#Nginx⽇志⽂件所在⽬录
LOG_PATH=/usr/local/nginx/logs/
#获取昨天的⽇期
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#获取pid⽂件路径
PID=/usr/local/nginx/logs/nginx.pid
#分割⽇志
mv ${LOG_PATH}access.log ${LOG_PATH}access-${YESTERDAY}.log
mv ${LOG_PATH}nginx_error.log ${LOG_PATH}error-${YESTERDAY}.log
#向Nginx主进程发送USR1信号,重新打开⽇志⽂件
kill -USR1 `cat ${PID}`
⼆:清理
#设置⽇志的⽂件路径
log_files_path="/usr/local/nginx/logs/"
save_days=7
#删除7天前的⽇志⽂件
find $log_files_path -mtime +$save_days -exec rm -rf {} \;
三:添加定时任务
crontab -e
# 每天凌晨执⾏切割任务
0 0 * * * /bin/sh /data/cut_nginx.sh
# 每天0:10 执⾏删除任务
10 0 * * * /bin/sh /data/clearlog.sh
# 编辑好后退出
# 查看定时任务
crontab -l
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/8151