手动切割
- 创建一个shell可执行文件:cut_my_log.sh,内容为:
#!/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`
- 为cut_my_log.sh添加可执行的权限:
chmod +x cut_my_log.sh
- 执行文件,查看测试结果:
./cut_my_log.sh
自动/定时切割
- 安装定时任务:
yum install crontabs
- 执行crontab -e编辑并且添加一条新的任务:
*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh
#crontab -l 查看当前定时任务列表常用表达式:
#每分钟执行 */1 * * * * #每日凌晨执行 59 23 * * * #每日凌晨一点执行 0 1 * * *
- 重启定时任务:
service crond restart
常用定时任务命令:
service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载入配置 crontab -e // 编辑任务 crontab -l // 查看任务列表
参考文献
每天定时为数据库备份:https://www.cnblogs.com/leechenxiang/p/7110382.html