0

日志切割是脚本是这么写的:

#!/bin/bash
## 零点执行该脚本
## Nginx 日志文件所在的目录
LOGS_PATH=/home/aaa/logs
pid_path="/var/run/nginx.pid"
## 获取昨天的 yyyy-MM-dd
#YESTERDAY=$(date -d ”yesterday” +%Y-%m-%d)
YESTERDAY=$(date -d last-day +%Y%m%d)
## 移动文件
mv ${LOGS_PATH}/aaa.access.log ${LOGS_PATH}/aaa.access.log_${YESTERDAY}.log
## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
kill -USR1 `cat ${pid_path}`

这个脚本单独执行是可以的,但是放到crontab -e却没有自动按时执行,crontab -e内容如下:

0 0 * * * /bin/bash /etc/nginx/mylogs/cut-log.sh


1个回答

0

crontab 执行时会在/var/log/下生成名字为cron类似的日志,如果有错,也会报出来,查一下有没有错误

撰写答案