[转载·运维案例一]nginx日志切割及7天前的历史日志删除脚本
2016-10-21 20:42
411 查看
今早,又发现几例磁盘空间报警,占用率都在90%+,关键居然是根分区!这要是日志突然暴涨,把根分区撑爆了,那就可以体验到“菊花一紧”的快感了吧?
SecureCRT全局发送相同命令,快速抓取服务器信息的方法",利用CRT的全局命令把磁盘空间占用率超过75%的服务器筛选出来,打算继续进行清理磁盘空间这个枯燥的工作。
结果,发现好几台nginx方向代理服务器的日志居然还没做分割处理,一个access.log居然近200G大小!
于是,就有了下面这个日志切割脚本,按日期切割nginx日志,并自动删除7天前的日志(日志均已同步至专用日志存储服务器,可放心删除历史日志。
将这个脚本添加到计划任务,每天执行一次即可:
SecureCRT全局发送相同命令,快速抓取服务器信息的方法",利用CRT的全局命令把磁盘空间占用率超过75%的服务器筛选出来,打算继续进行清理磁盘空间这个枯燥的工作。
结果,发现好几台nginx方向代理服务器的日志居然还没做分割处理,一个access.log居然近200G大小!
于是,就有了下面这个日志切割脚本,按日期切割nginx日志,并自动删除7天前的日志(日志均已同步至专用日志存储服务器,可放心删除历史日志。
#!/bin/bash #初始化 LOGS_PATH=/data/nginx/logs/www.domain.com YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) #按天切割日志 mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log #向 Nginx 主进程发送 USR1 信号,重新打开日志文件,否则会继续往mv后的文件写内容,导致切割失败. #kill usr1 意将服务停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。 kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'` #删除7天前的日志 cd ${LOGS_PATH} find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f exit 0 |
1 0 * * * /usr/local/script/cut_del_logs.sh |
相关文章推荐
- WEB日志每天打包压缩切割删除历史日志脚本
- nginx自动日志功能与日志自动切割脚本
- nginx 自动备份,日志切割脚本
- nginx日志自动切割脚本
- 每天定时切割nginx日志的脚本
- 编写定时切割Nginx日志脚本
- 编写每天定时切割Nginx日志的脚本
- nginx日志切割脚本
- Nginx日志自动切割及删除
- nginx日志切割脚本分享
- nginx 日志切割脚本
- nginx切割日志目录所有日志的脚本
- nginx日志切割脚本
- 每天定时切割nginx日志的脚本
- Nginx日志切割脚本
- nginx日志按天切割脚本
- nginx日志切割脚本,自动压缩
- nginx 启动关闭脚本【Linux运维之道之脚本案例】
- 编写每天定时切割Nginx日志的脚本
- 七、编写每天定时切割Nginx日志的脚本【LNMP安装 】