一个分割ngnix网站日志的shell脚本

发布时间:2020-03-09编辑:脚本学堂
本文介绍下,一个用于分割nginx网站日志的脚本,结合crontab进行定时分割nginx日志。有需要的朋友,可以参考下。

一个分割nginx网站日志的脚本,文件名cut_nginx_logs.sh。
 

复制代码 代码示例:
#!/usr/bin/bash
#filename cut_nginx_logs.sh
log_files_path="/home/wwwlogs/"
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#设置要切割的nginx日志文件,这里填写 www.abcd.com,则日志文件为www.adcd.com.log。
log_files_name=(www.abcd.com  www.bcdae.com )
#设置nginx执行文件的路径。
nginx_sbin="/usr/local/nginx/sbin/nginx"
#设置想保存的日志天数,这里设置保存60天之前的日志
save_days=60
#----------------
#Please do not modify the following script #
#----------------
mkdir -p $log_files_dir
log_files_num=${#log_files_name[@]}
#cut nginx log files
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
done
#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} ;
$nginx_sbin -s reload

使用crontab设置定时执行:

cronatb -e
00 00 * *  * /bin/bash /root/cut_nginx_logs.sh

每天0点进行nginx日志的分割。

您可能感兴趣的文章:
nginx 日志分割的小脚本
分享:Logrotate分割nginx日志的脚本
nginx日志配置、Nginx日志分割
Nginx日志按天分割的方法分享(图文)
每天自动分割Nginx日志文件的Shell脚本

nginx 日志分析的实例学习
Nginx日志模块分析详解
Nginx关闭日志的方法
Nginx日志分析 Nginx日志切割与Awstats配置
nginx日志配置、Nginx日志分割
有关nginx日志格式的设计分享
nginx日志统计访问时间的例子
nginx日志配置文件的格式说明
nginx关闭favicon.ico日志记录的方法
nginx与apache日志格式的区别
nginx日志中记录cookie的实现方法
修改nginx访问日志的时间格式的方法
Nginx日志中过滤关键字的写法
nginx 日志分析实例