Linux下定时切割Nginx访问日志并打包压缩的Shell脚本
2012-01-31 09:42
549 查看
之前写过这篇文章,但是由于上次的数据丢失故障这篇日志没有了。于是我又重新写了这个脚本,再次贴出来,给大家。
使用时注意修改logs_path为你自己的Nginx访问日志目录。我的Nginx是按照虚拟主机分列访问日志的,每个日志文件的格式如localhost.access.log,该脚本会匹配日志目录下的所有*.access.log文件,打包压缩后移动到 年月/日 目录下面。大家可以根据自己需要再行调整。设置成功后在crontab里面加入定时计划。
启动VI编辑器,输入以下内容:
其中最后一部分请修改成你的切割脚本所在的路径。定时器设定在每天0时归档昨天的日志。
#!/bin/bash logs_path=/home/logs/www/ arch_log_path=${logs_path}$(date -d "yesterday" +"%Y%m/%d")/ mkdir -p ${arch_log_path} cd ${logs_path} for i in `ls *.access.log` do tar zcf ${i}.tar.gz -C ${logs_path} ${i} mv ${i}.tar.gz ${arch_log_path} rm -rf ${i} done kill -USR1 `cat /usr/local/nginx/nginx.pid`
使用时注意修改logs_path为你自己的Nginx访问日志目录。我的Nginx是按照虚拟主机分列访问日志的,每个日志文件的格式如localhost.access.log,该脚本会匹配日志目录下的所有*.access.log文件,打包压缩后移动到 年月/日 目录下面。大家可以根据自己需要再行调整。设置成功后在crontab里面加入定时计划。
sudo crontab -e
启动VI编辑器,输入以下内容:
0 0 * * * /path/to/cut_nginx_log.sh
其中最后一部分请修改成你的切割脚本所在的路径。定时器设定在每天0时归档昨天的日志。
相关文章推荐
- Centos下Nginx配置WEB访问日志并结合shell脚本定时切割
- Nginx日志定时切割压缩
- Linux下定时切割Nginx访问日志并删除指定天数前的日志记录
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
- shell脚本:nginx访问日志切割与打包上传
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
- Linux下添加shell脚本使得nginx日志每天定时切割压缩 推荐
- Linux下定时切割nginx日志并删除指定天数前的日志记录 推荐
- nginx访问日志定时日志切割
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
- Nginx访问日志、日志切割、静态文件管理
- nginx日志定时切割
- 十二周三次课 2018.01.04 Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间
- Nginx访问日志、日志切割、静态文件不记录日志和过期时间
- Nginx的访问日志,Nginx日志切割,Nginx不记录静态文件
- 编写每天定时切割Nginx日志的脚本
- (4)nginx:日志以及定时切割日志小例子
- Nginx访问日志、日志切割、静态文件管理
- nginx日志模块及日志定时切割的方法
- linux编译安装及配置Nginx(包含pcre), 日志定时切割