jar包日志切割脚本

    1. #!/bin/bash
    2. source /etc/profile
    3. old_time=`date -d "1 day ago" +%Y-%m-%d`
    4. logs_path=""
    5. cut_log()
    6. {
    7. mv $logs_path/$1 $logs_path/$old_time.log
    8. }
    9. cut_log nohup.out
    10. #重新刷新log
    11. echo "正在杀死进程"
    12. kill -9 `ps -ef | grep '*.jar' | grep -v grep | awk '{ print $2 }'`
    13. echo "正在启动进程"
    14. cd $logs_path
    15. nohup java -jar *.jar &
    16. find ./ -name "*.log" -type f -mtime +3 -delete
    17. echo "脚本切割执行完成,执行时间" $old_time

    nginx日志切割脚本

    1. old_time=`date -d "1 day ago" +%Y-%m-%d`
    2. logs_path="/opt/nginx/logs"
    3. cut_log()
    4. {
    5. mv $logs_path/$1 $logs_path/$old_time-$1
    6. }
    7. cut_log access.log
    8. cut_log error.log
    9. #重新刷新log
    10. kill -USR1 `cat /opt/nginx/logs/nginx.pid`
    11. cd /opt/nginx/logs/;find ./ -name "*.log" -type f -mtime +3 -exec rm -vf {} \;

    定时任务

    1. #于每天零点三十分 执行日志切割脚本
    2. #并把每次脚本执行的结果写入jar.log文件
    3. #用于记录切割脚本的执行情况
    4. 30 0 * * * /root/copylog.sh >> /root/jar.log 2>&1
    5. #(集群服务中,不建议同功能节点定时任务为同一时间,应将脚本的执行时间错开来)
    6. #nginx切割脚本的定时任务
    7. 30 0 * * * /root/nginxlog.sh >> /root/nginx.log 2>&1