一、手动清理nginx日志方式
mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log.bak #重命名日志文件 mv /usr/local/nginx/logs/error.log /usr/local/nginx/logs/error.log.bak #重命名日志文件 /usr/local/nginx/sbin/nginx -s reopen #重执行生成日志文件 rm -rf /usr/local/nginx/logs/access.log.bak #删除旧文件 rm -rf /usr/local/nginx/logs/error.log.bak #删除旧文件
二、nginx日志定时清理方式
cd /usr/local/nginx/logs/ vim del_logs.sh #写入下面内容 #!/bin/bash# 先复制原来的错误日志文件,请根据自己实际的日志路径填写 cp /usr/local/nginx/logs/error.log /usr/local/nginx/logs/error-$(date -d "yesterday" +"%Y%m%d").log # 清空错误日志文件 cat /dev/null > /usr/local/nginx/logs/error.log # 先复制原来的访问日志 cp /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access-$(date -d "yesterday" +"%Y%m%d").log # 清空原来的正常访问日志 cat /dev/null > /usr/local/nginx/logs/access.log # 定期删除七天前的日志文件 find /usr/local/nginx/logs -mtime 7 -type f -name \*.log | xargs rm -rf
添加可执行权限
chmod +x del_logs.sh
添加Linux计划任务
crontab -e #写入下面内容 #每天0点执行日志清理脚本 0 0 * * * /usr/local/nginx/logs/del_logs.sh
保存后退出。
重启crond服务
/sbin/service crond restart
查看调度计划
crontab -l
完成nginx日志按天拆分与定期清除。