登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
Nginx日志按天切割、压缩,并自动清理 30 天前的旧日志 ...
Nginx日志按天切割、压缩,并自动清理 30 天前的旧日志文件
[ 复制链接 ]
梢疠
2025-6-9 14:29:28
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
以下是一个完整的 Shell 脚本,用于实现 Nginx 日志按天切割、压缩,并自动清理 30 天前的旧日志文件。
脚本内容
#!/bin/bash
# 定义日志目录
LOG_DIR="/var/log/nginx" # Nginx 日志目录
DAYS_TO_KEEP=30 # 保留最近多少天的日志
# 检查日志目录是否存在
if [ ! -d "$LOG_DIR" ]; then
echo "错误:日志目录 $LOG_DIR 不存在!"
exit 1
fi
# 获取昨天的日期(用于日志切割)
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
# 切割日志文件
if [ -f "$LOG_DIR/access.log" ]; then
mv "$LOG_DIR/access.log" "$LOG_DIR/access_$YESTERDAY.log"
fi
if [ -f "$LOG_DIR/error.log" ]; then
mv "$LOG_DIR/error.log" "$LOG_DIR/error_$YESTERDAY.log"
fi
# 向 Nginx 主进程发送 USR1 信号,重新打开日志文件
if [ -f /var/run/nginx.pid ]; then
kill -USR1 $(cat /var/run/nginx.pid)
fi
# 压缩昨天的日志文件
if [ -f "$LOG_DIR/access_$YESTERDAY.log" ]; then
gzip "$LOG_DIR/access_$YESTERDAY.log"
fi
if [ -f "$LOG_DIR/error_$YESTERDAY.log" ]; then
gzip "$LOG_DIR/error_$YESTERDAY.log"
fi
# 清理 30 天前的旧日志文件
find "$LOG_DIR" -type f -name "access_*.log.gz" -mtime +$DAYS_TO_KEEP -exec rm -f {} \;
find "$LOG_DIR" -type f -name "error_*.log.gz" -mtime +$DAYS_TO_KEEP -exec rm -f {} \;
# 记录操作日志
echo "$(date '+%Y-%m-%d %H:%M:%S') - 日志已切割、压缩并清理完成。" >> "$LOG_DIR/nginx_log_cleanup.log"
复制代码
脚本说明
日志目录
LOG_DIR 定义了 Nginx 日志文件的存储目录,默认是 /var/log/nginx。你可以根据实际路径修改。
日志切割
脚本会将当前的 access.log 和 error.log 文件重命名为 access_YYYY-MM-DD.log 和 error_YYYY-MM-DD.log,其中 YYYY-MM-DD 是前一天的日期。
通过向 Nginx 主进程发送 USR1 信号,通知 Nginx 重新打开日志文件。
日志压缩
使用 gzip 命令将切割后的日志文件压缩为 .gz 格式,以节省磁盘空间。
日志清理
使用 find 命令查找并删除 30 天前的旧日志文件(文件名格式为 access_*.log.gz 和 error_*.log.gz)。
操作日志
每次运行脚本时,会将操作记录到 nginx_log_cleanup.log 中,方便后续查看。
使用方法
将脚本保存为文件,例如 /usr/local/bin/rotate_compress_clean_nginx_logs.sh。
赋予脚本执行权限:
chmod +x /usr/local/bin/rotate_compress_clean_nginx_logs.sh
复制代码
手动运行脚本测试:
/usr/local/bin/rotate_compress_clean_nginx_logs.sh
复制代码
如果需要每天自动运行,可以将脚本添加到 crontab 中。例如,每天凌晨 0 点运行:
crontab -e
复制代码
添加以下内容:
0 0 * * * /usr/local/bin/rotate_compress_clean_nginx_logs.sh
复制代码
注意事项
权限问题
确保脚本以具有足够权限的用户(如 root)运行,否则可能无法删除、重命名或压缩日志文件。
测试
在生产环境中运行之前,建议先在测试环境中验证脚本的正确性。
日志轮换
如果已经配置了 logrotate 来管理 Nginx 日志,请确保脚本与 logrotate 的配置不冲突。
备份
如果需要保留某些重要日志,可以在删除前备份到其他位置。
压缩文件格式
脚本使用 gzip 压缩日志文件,压缩后的文件格式为 .gz。如果需要其他格式(如 .zip),可以修改脚本中的压缩命令。
通过这个脚本,你可以实现 Nginx 日志按天切割、压缩并自动清理旧日志,有效管理磁盘空间并保留必要的日志记录。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
日志
Nginx
按天
切割
压缩
相关帖子
Serilog 日志库简单实践(二):控制台与调试 Sinks(.net8)
【Kubernetes】集成ELK收集日志
Serilog 日志库简单实践(三)集中式日志与分析平台 Sinks(.net8)
LFM线性调频和脉冲压缩的理论总结与仿真
LFM线性调频和脉冲压缩的理论总结与仿真
ELK日志分析平台搭建实战:从日志混乱到一目了然
【大数据高并发核心场景实战】缓存层 - 日亿万级请求日志收集
elk日志配置
nginx解决进程内存占用翻倍
winra中文版解压压缩包工具
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Serilog 日志库简单实践(二):控制台与调试 Sinks(.net8)
2
652
嫂潍
2025-11-04
业界
【Kubernetes】集成ELK收集日志
0
321
役魅肋
2025-11-23
业界
Serilog 日志库简单实践(三)集中式日志与分析平台 Sinks(.net8)
1
373
阮蓄
2025-11-23
业界
LFM线性调频和脉冲压缩的理论总结与仿真
0
444
讥慰捷
2025-11-26
业界
LFM线性调频和脉冲压缩的理论总结与仿真
0
444
赀倦
2025-11-26
业界
ELK日志分析平台搭建实战:从日志混乱到一目了然
0
989
费卿月
2025-12-03
业界
【大数据高并发核心场景实战】缓存层 - 日亿万级请求日志收集
0
356
汝雨竹
2025-12-04
安全
elk日志配置
0
791
闹忧踫
2025-12-04
业界
nginx解决进程内存占用翻倍
0
263
疝镜泛
2025-12-04
软件
winra中文版解压压缩包工具
2
18
新程序
2025-12-06
回复
(5)
创蟀征
2025-11-2 04:35:06
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
谭皎洁
2025-11-10 00:47:43
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
阴昭昭
2025-11-10 21:57:33
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
狞嗅
2025-11-30 01:07:18
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
晌集涟
前天 15:00
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
梢疠
前天 15:00
关注
0
粉丝关注
19
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991122
4
xiangqian
638210
5
宋子
9987
6
闰咄阅
9991
7
刎唇
9993
8
俞瑛瑶
9998
9
蓬森莉
9952
10
匝抽
9986
查看更多