nginx日志切割

作为一个初中级php程序员,也许懂一点Linux知识,下面操作下nginx日志切割

 

1 #!/bin/bash
2 base_path=/www/lisa/logs/lisa.log.log    #nginx日志
3 log_path=/data/logs   #备份目录
4 date=$(date -d yesterday +%Y%m%d%H).log  #获取日期时间作为文件名
5 
6 mv $base_path $log_path/$date  #nginx日志更改名字
7 
8 kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`  #-USER1发送信号给nginx重新打开日志

当执行命令“kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`”的时候(nginx.pid文件中保存的其实就是一个数字),nginx 将其主进程的 pid (进程号)写入到了nginx.pid 文件中,所以可以通过cat命令直接拿到其主进程号,直接操作指定的进程号。 

最后再将其加入linux自带的定时任务中

 

输入   crontab -e

然后添加以下内容:

0 * * * sh /www/lisa/shell/baklog.sh          #凌晨0点运行,这里可以自定义


 

 

posted @ 2016-11-30 22:12  人间最美二月天  阅读(166)  评论(0编辑  收藏  举报