nginx 日志清理
2017-02-10 11:01
141 查看
nginx日志文件需要手动分割,创建脚本文件clear_log.sh
文件路径/usr/local/nginx/clear_log.sh
vi clear_log.sh。输入如下内容
#!/bin/bash
cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d "yesterday" +"%Y%m%d").log
#先复制原来的错误日志文件,请根据自己实际的日志路径填写
cat /dev/null > /usr/local/nginx/logs/error.log
#清空错误日志文件
cp/usr/local/nginx/logs/access.log /var/log/nginx/access/access-$(date -d "yesterday" +"%Y%m%d").log
#先复制原来的正常访问日志
cat /dev/null > /usr/local/nginx/logs/access.log
#清空原来的正常访问日志
2
创建dellog.sh文件,路径/usr/local/nginx
vi dellog.sh
#!/bin/sh
find /usr/nginx/logs/error -mtime +7 -type f -name \*.log | xargs rm -f
find /usr/nginx/logs/access -mtime +7 -type f -name \*.log | xargs rm -f
#定期删除七天前的日志文件
3
启动Linux下的计划任务,将刚才创建好的两个shell脚本加入此计划
crontab -e,输入如下内容
0 0 * * * /usr/nginx/clear_log.sh
#每天0点执行/usr/nginx/clear_log.sh
0 0 * * * /usr/nginx/dellog.sh
#每天0点执行 /usr/nginx/dellog.sh
保存后退出,输入命令crontab root就会看到/var/spool/cron/文件夹下看到相应的副本文件root。至此完成nginx日志按天拆分与定期清除。
4
逻辑详解:比如现在是3月18日0点0分,系统会自动执行clear_log.sh与dellog.sh两个shell脚本。clear_log.sh会把3月17日的日志文件分别生成为access_20140317.log与error_20140318.log,然后把原来的access.log与error.log分别清空。dellog.sh则会自动判断该文件的创建时间,如果是十五天前的就会自动清除
文件路径/usr/local/nginx/clear_log.sh
vi clear_log.sh。输入如下内容
#!/bin/bash
cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d "yesterday" +"%Y%m%d").log
#先复制原来的错误日志文件,请根据自己实际的日志路径填写
cat /dev/null > /usr/local/nginx/logs/error.log
#清空错误日志文件
cp/usr/local/nginx/logs/access.log /var/log/nginx/access/access-$(date -d "yesterday" +"%Y%m%d").log
#先复制原来的正常访问日志
cat /dev/null > /usr/local/nginx/logs/access.log
#清空原来的正常访问日志
2
创建dellog.sh文件,路径/usr/local/nginx
vi dellog.sh
#!/bin/sh
find /usr/nginx/logs/error -mtime +7 -type f -name \*.log | xargs rm -f
find /usr/nginx/logs/access -mtime +7 -type f -name \*.log | xargs rm -f
#定期删除七天前的日志文件
3
启动Linux下的计划任务,将刚才创建好的两个shell脚本加入此计划
crontab -e,输入如下内容
0 0 * * * /usr/nginx/clear_log.sh
#每天0点执行/usr/nginx/clear_log.sh
0 0 * * * /usr/nginx/dellog.sh
#每天0点执行 /usr/nginx/dellog.sh
保存后退出,输入命令crontab root就会看到/var/spool/cron/文件夹下看到相应的副本文件root。至此完成nginx日志按天拆分与定期清除。
4
逻辑详解:比如现在是3月18日0点0分,系统会自动执行clear_log.sh与dellog.sh两个shell脚本。clear_log.sh会把3月17日的日志文件分别生成为access_20140317.log与error_20140318.log,然后把原来的access.log与error.log分别清空。dellog.sh则会自动判断该文件的创建时间,如果是十五天前的就会自动清除
相关文章推荐
- Shell脚本分割Nginx日志,并定期清理[不重启nginx]
- nginx 清理日志
- 【Linux基础之简单的日志切割】nginx日志切割及清理
- 在线清理Apache、Tomcat、Nginx等Web服务产生的日志文件
- shell 按天自动割裂nginx日志,清理7天前日志文件
- Shell脚本分割Nginx日志,并定期清理
- 定期检查服务器tomcat,nginx下的日志过大清理
- nginx访问日志,错误日志参数说明
- Nginx access.log日志分析shell命令
- nginx日志按天切割
- Nginx 用log_format设置日志格式
- 数据库日志清理杂谈--在项目中如何高效实现日志清理
- 使用awstats 分析 Nginx 的访问日志
- nginx 开发第三方模块的时调式日志的方法(终端printf输出日志)
- nginx日志及错误日志详解
- nginx日志切割
- nginx 日志分析工具–GoAccess
- Nginx模块开发(15)—日志模型
- Nginx 服务安全优化---隐藏版本号、网页缓存、日志分割