一、手动
1.安装好nginx,nginx的安装请看我主页
2.进入nginx的sbin目录创建一个shell可执行文件:cut_my_log.sh
a.vim cut_my_log.sh
b.输入以下指令
#!/bin/bash
LOG_PATH="/var/log/nginx/"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
PID=/var/run/nginx/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
#向Nginx主进程发送信号,用于重新打开日志文件
kill -USR1 `cat $PID`
c.cut_my_log.sh创建成功,如图:
4.当前cut_my_log.sh无法执行,需要操作权限
chmod +x cut_my_log.sh
5./cut_my_log.sh
启动时,如果出现错误,我这出现了:
**mv: cannot stat `/var/log/nginx//access.log’: No such file or directory
cat: /var/run/nginx/nginx.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]**查看我的这个文章https://blog.csdn.net/weixin_43700943/article/details/107385971做一次就可以
6.然后./cut_my_log.sh
启动成功,可以通过./nginx -V
查看日志文件的位置即可查看日志文件:
二、定时
1.安装定时任务:
yum install crontabs
2.crontab -e 编辑并且添加一行新的任务:
*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh
解释:*/1 * * * *表示每一分钟执行
/usr/local/nginx/sbin/cut_my_log.sh表示执行的任务,就是cut_my_log.sh文件,前面目录根据自己的位置填写
3.重启定时任务:
service crond restart
*常用命令:
service crond start 启动服务
service crond stop 关闭服务
service crond restart 重启服务
service crond reload 重新载入配置
crontab -e 编辑任务
crontab -l 查看任务
4.常用表达式执行:
a.每分钟执行
*/1 * * * *
b.每日凌晨(每天晚上23:59)执行:
59 23 * * *
c.每日凌晨1点执行:
0 1 * * *