ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

nginx的日志切割-每天定时脚本执行

2022-08-13 18:34:46  阅读:175  来源: 互联网

标签:-% log root nginx sh 日志 my 定时


  1. 日志切割时企业中常规动作,我们不会每天去手工执行一遍命令,通常是让脚本自己执行,于是我们可以将这个动作写进任务计划,每天凌晨自动执行。
#!/usr/bin/bash

s_log="/usr/local/nginx/logs/access.log"
d_log="/root/my_sh/nginx/logs/$(date +%Y-%m-%d_%H-%M-%S).log"
d_log_dir="/root/my_sh/nginx/logs"

# 判断目录是否存在,不存在则创建
if [ ! -d "$d_log_dir" ];then
        mkdir -p "$d_log_dir"
fi

# 判断原始日志文件是否存在,存在则移动并改名
if [ -f "$s_log" ];then
        mv "$s_log" "$d_log"
fi

# 重新打开nginx日志文件-方法1
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
# 方法2
# /usr/local/nginx/sbin/nginx -s reopen

if [ $? -eq 0 ]
then
        echo "$(date +%Y-%m-%d_%H-%M-%S) 日志切割成功" >> "/root/my_sh/nginx/nginx_cut_access.log"
else
        echo "$(date +%Y-%m-%d_%H-%M-%S) 日志切割失败" >> "/root/my_sh/nginx/nginx_cut_error.log"
fi

创建好两个日志切割文件
touch /root/my_sh/nginx/nginx_cut_access.log
touch /root/my_sh/nginx/nginx_cut_error.log

  1. 将脚本添加到定时任务当中去
    执行命令
    crontab -e
    添加定时任务,每天23:59分执行
    59 23 * * * /bin/sh /root/my_sh/nginx/nginx_cut_log.sh

参考文档

标签:-%,log,root,nginx,sh,日志,my,定时
来源: https://www.cnblogs.com/mayanan/p/16583722.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有