卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章1858本站已运行508

宝塔利用计划任务定时去除日志脚本

适用于 宝塔计划任务执行,包括:
清理 systemd journal 日志(保留 7 天)
清理 /var/log 的旧日志压缩文件
清空日志内容但不删文件(防止服务报错)
清理包管理器缓存(apt 或 yum)
清理 /tmp 和 /var/tmp,排除 socket 和其他特殊文件
宝塔各类日志清理(保留 5 天)
自动检测并重启 MySQL 和 Nginx(验证 Nginx 配置是否成功)
#!/bin/bash

echo "======== 开始清理系统与宝塔日志 ========"

# [1] 清理 systemd journal 日志(保留最近 7 天)
echo "[1/8] 清理 systemd journal 日志(保留7天)..."
journalctl --vacuum-time=7d

# [2] 清理 /var/log 下的旧日志压缩文件
echo "[2/8] 清理 /var/log 中的旧日志压缩文件..."
find /var/log -type f \( -name "*.gz" -o -name "*.1" -o -name "*.old" \) -exec rm -f {} \;

# [3] 清空部分系统日志内容(不删除文件)
echo "[3/8] 清空部分系统日志内容(不删除文件)..."
: > /var/log/wtmp
: > /var/log/btmp
: > /var/log/lastlog
: > /var/log/secure
: > /var/log/messages

# [4] 清理包管理器缓存
echo "[4/8] 清理包管理器缓存..."
if command -v apt-get &> /dev/null; then
    apt-get clean && apt-get autoclean
elif command -v yum &> /dev/null; then
    yum clean all
fi

# [5] 清理临时目录(只删普通文件和目录,排除 socket、管道等)
echo "[5/8] 清理 /tmp 和 /var/tmp 中的临时文件(排除 socket)..."
find /tmp -mindepth 1 \( -type f -o -type d \) -exec rm -rf {} +
find /var/tmp -mindepth 1 \( -type f -o -type d \) -exec rm -rf {} +

# [6] 清理宝塔面板日志
echo "[6/8] 清理宝塔面板日志(保留5天)..."
find /www/server/panel/logs/ -type f -name "*.log*" -mtime +5 -exec rm -f {} \;

# [7] 清理网站访问日志
echo "[7/8] 清理网站访问日志(保留5天)..."
find /www/wwwlogs/ -type f -name "*.log*" -mtime +5 -exec rm -f {} \;

# [8] 清理 Nginx 和计划任务日志
echo "[8/8] 清理 Nginx 和计划任务日志(保留5天)..."
find /www/server/nginx/logs/ -type f -name "*.log*" -mtime +5 -exec rm -f {} \;
find /www/server/cron/ -type f -name "*.log" -mtime +5 -exec rm -f {} \;

# 释放缓存
sync; echo 3 > /proc/sys/vm/drop_caches

echo "========  
卓越飞翔博客
上一篇: 宝塔nginx mysql 运行监控脚本
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏