#!/bin/bash
#程序须明天00:00准时执行
#日志名称
server_name=(test test1 test2)
#存放路径
logs_path="/home/user1/datas/logs/"
#遍历数组数值
for i in ${server_name[*]}
do
#遍历数组下标
for ((j=0;j<=${#server_name[@]};j++))
do
if [ "${server_name[j]}" = "$i" ]; then
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}$i.access.log ${logs_path}$(date -d"yesterday" +"%Y")/$(date -d "yesterday" +"%m")/$i.access_$(date -d "yesterday" +"%Y%m%d").log
/usr/local/nginx/sbin/nginx -s reload
fi
done
done
rontab每天凌晨执行该脚本
crontab -e
00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh
本文介绍了一个使用Bash编写的脚本,该脚本用于定时将前一天的日志文件按日期进行切割并归档,同时重新加载Nginx服务以更新日志配置。此脚本通过cron计划任务每天凌晨执行,确保日志文件得到及时管理。

被折叠的 条评论
为什么被折叠?



