标签:data ash names server 目录 环境 bash 初始化 根据
#!/bin/bash #按日切割nginx日志并压缩,加入crontab每天0:00切割 #作者:fafu_li #邮箱:fafu_li@live.com & 348926676@qq.com #时间:2015.08.15 source /etc/profile #加载系统环境变量 source ~/.bash_profile #加载用户环境变量 set -o nounset #引用未初始化变量时退出 set -o errexit #执行shell命令遇到错误时退出 PID="/usr/local/nginx/logs/nginx.pid" #pid目录 NGINX="/usr/local/nginx/sbin/nginx" YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) #昨天日期 LOGS_PATH="/data/nginx/logs" #日志目录 server_names=("access_chaoneng") #日志名 server_count=${#server_names[@]} #分割日志 cut_logs(){ local name=$1 cd $LOGS_PATH /bin/mv -f ${name}.log ${name}.${YESTERDAY}.log #向nginx主进程发送 USR1 信号,USR1 信号是重新打开日志文件 #不然nginx主进程写入的还是移动后的日志文件 #三种方式,根据需求使用任意一种 #service nginx reload #kill -USR1 $(cat $PID) $NGINX -s reload tar zcf ${name}.${YESTERDAY}.log.gz ${name}.${YESTERDAY}.log rm -rf ${name}.${YESTERDAY}.log } #循环分割日志 for (( i = 0; i < $server_count; i++ )); do cut_logs ${server_names[$i]} done
标签:data ash names server 目录 环境 bash 初始化 根据
原文地址:http://www.cnblogs.com/leffss/p/7832123.html