自动切割Nginx日志case

这是一个用于自动切割Nginx日志的Bash脚本,它将前一天的日志备份并创建新的日志文件夹,然后按照指定日期筛选并切割日志,保留最近30天的数据。
摘要由CSDN通过智能技术生成




#!/bin/bash


#Program:
#    Auto cut nginx log files


#backup nginx log 
#cp -r /opt/logs/swiftlive/nginx/ /opt/backup/nginx/


#Create the DIR place of logs 
mkdir -p /opt/logs/swiftlive/nginx/$(date -d "yesterday" +"%Y%m%d")


#set the path to nginx log files
log_files_path="/opt/logs/swiftlive/nginx/"


#set the path of the nginx logs need to mv
log_files_dir="/opt/logs/swiftlive/nginx/$(date -d "yesterday" +"%Y%m%d")/"


#set nginx log files you want to cut,but not include '.log'
log_files_name=(api.access.error.log api.access.log image.access.error.log image.access.log imagewsa.access.error.log imagewsa.access.log sc.access.error.log sc.access.
log srsmonitor108.access.error.log srsmonitor108.access.log srsmonitor109.access.error.log srsmonitor109.access.log srsmonitor.access.error.log srsmonitor.access.log ss
l_admin.access.error.log ssl_admin.access.log ssl_api.access.error.log ssl_api.access.log ssl_dvr.access.error.log ssl_dvr.access.log ssl_image.access.error.log  ssl_im
age.access.log ssl_imagewsa.access.error.log ssl_imagewsa.access.log ssl_payment.access.log ssl_swiftlive_payment.access.error.log ssl_web.access.error.log ssl_web.acce
ss.log)


#Set how long you want to save
save_days=30


log_files_num=${#log_files_name[@]}


#set a time variable
TIME=$(date -d "yesterday" +"%d/%b/%Y")


#cut nginx log files
for((i=0;i<$log_files_num;i++));do
cat ${log_files_path}${log_files_name[i]} |grep $TIME>>${log_files_dir}${log_files_name[i]}
done
~      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值