如果用的时间长,服务器硬盘满了,主要是日志文件太多导致的,连上ssh后,输入下面两个命令就能清理了。
命令一
清理正在使用日志(此命令不是删除,是清理,删除会导致服务器崩溃,可以直接执行本命令)
sudo truncate -s 0 /var/log/syslog
命令二
删除以前自动日志的自动备份文件
sudo find /var/log -name "*.gz" -o -name "*.bz2" -o -name "*.[0-9]" -exec rm -f {} \;
命令三:1、2都不用,直接执行这个组合技
# 1. 清理系统日志(立即释放约 700MB)
sudo journalctl --vacuum-size=200M
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/mail.log
sudo truncate -s 0 /var/log/auth.log
# 2. 清理 apt 缓存
sudo apt clean
sudo apt autoremove -y
# 3. 删除旧的压缩日志(在 BillionMail 目录)
find /opt/BillionMail -name "*.gz" -exec rm -f {} \;
# 1. 启动 Docker 服务
sudo systemctl start docker
# 2. 检查 Docker 状态
sudo systemctl status docker
# 3. 进入 BillionMail 目录并启动服务
cd /opt/BillionMail
docker compose up -d
# 如果成功启动,立即清理 Docker 日志
docker compose down # 先停止
sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
docker compose up -d # 重新启动
# 停止服务
cd /opt/BillionMail
docker compose down
# 清空邮件存储(这是实际邮件内容)
rm -rf /opt/BillionMail/vmail-data/*
rm -rf /opt/BillionMail/postfix-data/*
# 清空数据库中的邮件记录(谨慎!)
# 进入 PostgreSQL 容器
docker compose up -d postgres
docker exec -i billionmail-postgres-1 psql -U billionmail -d billionmail <<EOF
TRUNCATE TABLE emails;
TRUNCATE TABLE email_attachments;
TRUNCATE TABLE mail_queue;
EOF
# 清理 BillionMail 的日志(3GB)
rm -rf /opt/BillionMail/logs/*
# 或者只清理旧日志
find /opt/BillionMail/logs -name "*.log" -exec truncate -s 0 {} \;
# 清理系统邮件日志
sudo truncate -s 0 /var/log/mail.log
sudo truncate -s 0 /var/log/mail.err
sudo truncate -s 0 /var/log/mail.warn
# 清空邮件存储(vmail-data 是 552MB)
rm -rf /opt/BillionMail/vmail-data/*
# 清空 postfix 队列和存储(7GB)
rm -rf /opt/BillionMail/postfix-data/*
# 通过数据库清空邮件索引(保留账号)
# 先找到 PostgreSQL 的数据目录
ls -la /opt/BillionMail/postgresql-data/
# 连接数据库(密码可能在 /opt/BillionMail/DBPASS_file.pl)
# 尝试以下命令
sudo -u postgres psql -d billionmail -c "TRUNCATE TABLE emails;"
# 查看清理效果
df -h
# 重启服务器然后用就能打开bm后台了
reboot
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)