jar包日志切割脚本
#!/bin/bash
source /etc/profile
old_time=`date -d "1 day ago" +%Y-%m-%d`
logs_path=""
cut_log()
{
mv $logs_path/$1 $logs_path/$old_time.log
}
cut_log nohup.out
#重新刷新log
echo "正在杀死进程"
kill -9 `ps -ef | grep '*.jar' | grep -v grep | awk '{ print $2 }'`
echo "正在启动进程"
cd $logs_path
nohup java -jar *.jar &
find ./ -name "*.log" -type f -mtime +3 -delete
echo "脚本切割执行完成,执行时间" $old_time
nginx日志切割脚本
old_time=`date -d "1 day ago" +%Y-%m-%d`
logs_path="/opt/nginx/logs"
cut_log()
{
mv $logs_path/$1 $logs_path/$old_time-$1
}
cut_log access.log
cut_log error.log
#重新刷新log
kill -USR1 `cat /opt/nginx/logs/nginx.pid`
cd /opt/nginx/logs/;find ./ -name "*.log" -type f -mtime +3 -exec rm -vf {} \;
定时任务
#于每天零点三十分 执行日志切割脚本
#并把每次脚本执行的结果写入jar.log文件
#用于记录切割脚本的执行情况
30 0 * * * /root/copylog.sh >> /root/jar.log 2>&1
#(集群服务中,不建议同功能节点定时任务为同一时间,应将脚本的执行时间错开来)
#nginx切割脚本的定时任务
30 0 * * * /root/nginxlog.sh >> /root/nginx.log 2>&1