• Shell---Nginx日志保留策略


    Shell---Nginx日志保留策略

    [root@ser04 ~]# crontab -l
    0 0 * * * /bin/bash /data/script/nginxlog.sh
    [root@ser04 ~]# cat /data/script/nginxlog.sh
    #/bin/bash
    # author  sunli
    set -e   #脚本执行,遇到错就退出,不再往下执行
    sleep 1 # 配合定时任务,0点过一秒再开始切割任务
    yesterday=$(date -d 'yesterday' +%Y-%m-%d)  #取得服务器当前时间
    ng_logs_dir='/usr/local/nginx/logs'  #nginx 日志文件目录
    
    if [ -d $ng_logs_dir ];then    #判断日志目录是否存在
      cd $ng_logs_dir
      mv access.log  access_${yesterday}.log  #通过 mv 命令将日志移动到分割后的日志,error 日志我一般不做切割
      kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)  #发送 kill -USR1 信号给 Nginx 的主进程号,让 Nginx 重新生成一个新的日志文件
      sleep 1
      tar -czf  access_${yesterday}.log.tar.gz access_${yesterday}.log  #把旧的日志打成压缩包
      mv access_${yesterday}.log.tar.gz /data/nginx/log/    #移到指定目录
      rm -f  access_${yesterday}.log  #已有压缩包,删除压缩前的日志
    else
      echo "日志目录不存在,请检查"
      exit 0
    fi
  • 相关阅读:
    BZOJ1930 [Shoi2003]pacman 吃豆豆
    hdu5322 Hope
    hdu5390 tree
    hdu4609 3-idiots
    hdu5354 Bipartite Graph
    hdu4918 Query on the subtree
    hdu5314 Happy King
    [题解] PowerOJ 1741 最长递增子序列问题 (最大流)
    [题解] PowerOJ 1740 圆桌问题 (最大流)
    [题解] PowerOJ 1739 魔术球问题 (最大流)
  • 原文地址:https://www.cnblogs.com/user-sunli/p/14430099.html
Copyright © 2020-2023  润新知