Nginx的日志会随着访问量而暴增,也是遇到了一个问题,然后开始想到去用定时任务定期整理日志,节省linux磁盘空间。下面的sh文件,大家也可以直接使用,存在的问题,欢迎大家帮忙指出。
1、baklog.sh 文件 (根据自己的nginx路径修改)
#!/bin/sh
NGINX_DIR=/usr/local/nginx #安装的nginx的根路径
NGINX_LOG_PATH=/usr/local/nginx/logs #nginx存放日志路径
BAK_LOG_PATH=/usr/local/nginx/backup/logs #nginx存放备份日志路径
ACCESS_FILE_NAME=access.log #要备份的日志名 访问日志
ERROR_FILE_NAME=error.log #要备份的日志名 错误日志
ACCESS_FILE=$NGINX_LOG_PATH/$ACCESS_FILE_NAME #访问日志:源文件全地址
ERROR_FILE=$NGINX_LOG_PATH/$ERROR_FILE_NAME #错误日志:源文件全地址
BAK_TIME=`/bin/date +%Y%m%d%H%M` #时间形式为这种202211281049 如果是凌晨12点执行用后面这段 /bin/date -d yesterday +%Y%m%d%H%M
ACCESS_BAK_NAME=$BAK_TIME-$ACCESS_FILE_NAME #访问日志:备份的文件名 202211281049-access.log
ERROR_BAK_NAME=$BAK_TIME-$ERROR_FILE_NAME #错误日志:备份的文件名 202211281049-error.log
ACCESS_BAK_FILE=$BAK_LOG_PATH/$ACCESS_BAK_NAME #访问日志:备份文件全地址
ERROR_BAK_FILE=$BAK_LOG_PATH/$ERROR_BAK_NAME #错误日志:备份文件全地址
echo $ACCESS_BAK_FILE
echo $ERROR_BAK_FILE
mv $ACCESS_FILE $ACCESS_BAK_FILE #将日志移动到备份的地方
mv $ERROR_FILE $ERROR_BAK_FILE #将日志移动到备份的地方
#压缩备份的日志 路径使用绝对路径
cd /usr/local/nginx/backup/logs
#tar -zcvf $BAK_TIME-access.tar.gz $ACCESS_BAK_NAME #202211281049-access.tar.gz
#tar -zcvf $BAK_TIME-error.tar.gz $ERROR_BAK_NAME #202211281049-error.tar.gz
tar -zcvf $BAK_TIME-log.tar.gz *.log #202211281049-log.tar.gz
#重载nginx 生成新的access.log
$NGINX_DIR/sbin/nginx -s reload
#压缩完把原文件删除
rm -f $ACCESS_BAK_FILE
rm -f $ERROR_BAK_FILE
2、Crontab配置
* * * * * /usr/local/nginx/baklog.sh
3、需要注意的问题
3、建立好备份的文件夹
原文地址:https://blog.csdn.net/zzx7227/article/details/128082179
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_26712.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。