#!/bin/bash
# fileName:cut_nginx_logs.sh
# create: 2018/07/19
#切割nginx日志(加 & 为后台执行)
# crontab -e
# 0 0 * * * /bin/bash /opt/cut_nginx_logs.sh &
# 注意是用空格分开,不是逗号!!
#多个日志例:arr=(a b c d)
arr=(a)
#nginx安装路径
nginx_dir=/opt/nginx
#nginx日志路径
nginx_log_dir=/opt/nginx/logs
#日志存放路径
save_dir=/opt/trsdata/logs
#当前时间
current_day=$(date +%Y%m%d)
#判断存放路径是否存在,不存在创建
for var in ${arr[@]};
do
if [ ! -d "$save_dir/$var" ]; then
mkdir -p "$save_dir/$var"
fi
#进入log目录
cd $nginx_log_dir
#重命名当前站点日志
mv "$var".access.log "$current_day"_access.log
#移动日志进入指定目录
mv "$current_day"_access.log "$save_dir/$var"
##向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
kill -USR1 $(cat "$nginx_log_dir"/nginx.pid)
#删除30天前的备份
#find "$save_dir/$var" -mtime +30 -name "*.*" -exec rm -rf {} \;
done
bye
EOF