加入收藏 | 设为首页 | 会员中心 | 我要投稿 无锡站长网 (https://www.0510zz.cn/)- 运维、开发、CDN、操作系统、语音技术!
当前位置: 首页 > 教程 > 正文

nginx分割日志

发布时间:2022-08-02 14:33:12 所属栏目:教程 来源:互联网
导读:实现nginx日志按照时间分割存储 backups_log.sh 复制代码 #设置log日志的存储地址 LOG_PATH=/home/soft/nginx/logs #设置历史日志的存储地址 HISTORY_LOG_PATH=/home/soft/nginx/history_logs #获取分割日志时所需要的时间当做日志文件名称 TIME=$(date +%Y-
  实现nginx日志按照时间分割存储
 
  backups_log.sh
 
  复制代码
  #设置log日志的存储地址
  LOG_PATH=/home/soft/nginx/logs
  #设置历史日志的存储地址
  HISTORY_LOG_PATH=/home/soft/nginx/history_logs
  #获取分割日志时所需要的时间当做日志文件名称
  TIME=$(date +%Y-%m-%d)
  #将当前日志备份到指定存储目录
  mv ${LOG_PATH}/access.log ${HISTORY_LOG_PATH}/access_log/${TIME}_access.log
  #发送信号重新打开日志文件
  kill -USR1 $(cat ${LOG_PATH}/nginx.pid)
  复制代码
  将sh脚本加入到定时任务中,每天23:59执行
 
  crontab -e
  添加定时任务
 
  59 23 * * * /home/sh/backups_log.sh
   
 
  注意事项:
 
  1.在没有执行kill -USR1 nginx_pid 之前,即便已经对文件执行了mv命令也只是改变了文件的名称,nginx还是会向新命名的文件中照常写入日志数据。原因在于linux系统中,内核是根据文件描述符来找文件的
 
  2.添加定时任务后如果定时任务没有起作用,则使用 ps -aux | grep cron 确认下服务是否已经开启
 
  3. -USR1 是进程间通信的信号中的一种,至于nginx进程接收到该信号做什么操作是它内部定义的,除此之外我们可以使用 kill -l 确认liunx中包含哪些信号

(编辑:无锡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读