添加定时任务
/etc/crontab
10 10 * * * root /bin/sh /data/logs/access/cut_del_logs.sh
#!/bin/bash
LOGS_PATH=/data/logs/access
YESTERDAY=$(date -d "yesterday" +%Y%m%d)
# mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${LOGS_PATH}/aaa.com.access.log ${LOGS_PATH}/aaa.com.access_${YESTERDAY}.log
mv ${LOGS_PATH}/bbb.com.access.log ${LOGS_PATH}/bbb.access_${YESTERDAY}.log
#向nginx主进程发送USR1信号,重新打开日志文件,否则会继续往mv后的文件写数据的。原因在于:linux系统中,内核是根据文件描述符来找文件的。如果不这样操作导致日志切割失败。
kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`
# sudo tar -zcvf ${LOGS_PATH}/access_${YESTERDAY}.log.tar.gz ${LOGS_PATH}/access_${YESTERDAY}.log
sudo tar -zcvf ${LOGS_PATH}/aaa.com.access_${YESTERDAY}.log.tar.gz ${LOGS_PATH}/aaa.com.access_${YESTERDAY}.log
sudo tar -zcvf ${LOGS_PATH}/bbb.com.access_${YESTERDAY}.log.tar.gz ${LOGS_PATH}/bbb.com.access_${YESTERDAY}.log
# sudo mv ${LOGS_PATH}/access_${YESTERDAY}.log /tmp/1.txt
sudo mv ${LOGS_PATH}/aaa.com.access_${YESTERDAY}.log /tmp/1.txt
sudo mv ${LOGS_PATH}/bbb.com.access_${YESTERDAY}.log /tmp/1.txt
exit 0