1 脚本 vim cut_www.tangboxiang.com.log.sh
#!/bin/bash
LOGDIR=/www/wwwlogs
LOGNAME=www.tangboxiang.com
DATETIME=$(date -d "yesterday" +%Y-%m-%d)
mv ${LOGDIR}/${LOGNAME}.log ${LOGDIR}/${LOGNAME}_${DATETIME}.log
kill -USR1 `ps -ef|grep nginx |awk '/master/ {print $2}'`
#删除2天前的日志
find ${LOGDIR}/ -mtime +2 -name "*.log" | xargs rm -rf
exit 0
2 加入到定时任务,由于时间设置yesterday,定时任务里面为0点以后。
crontab -e
0 0 * * * /bin/sh /www/wwwlogs/cut_www.tangboxiang.com.log.sh > /dev/null 2>&1
3 重启crontab
坑:修改时区后,必须要重启crontab(重启系统也没有用),否则crontab 执行时间和系统时间不一致,导致切割的时间和执行的时间不对。
还有一种情况的 时区分两个 一个是 timezone 还有个是localtime,按照下面命令即可解决
cp
/usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
service crond restart
systemctl restart crond
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
查看日志:
查看crontab 日志输出
tail -f /var/log/cron