在 CentOS(以及大多数 Linux 系统)中,“清空日志文件”通常指保留文件本身但清空内容,而不是删除文件(删除后可能导致服务无法继续写日志)。下面按常见场景说明。
> /var/log/messages
或
: > /var/log/messages
✅ 特点:
truncate -s 0 /var/log/messages
✅ 优点:
cat /dev/null > /var/log/messages
效果同上,写法稍旧。
CentOS 7+ 默认使用 systemd-journald
journalctl --vacuum-time=1s
或
rm -rf /var/log/journal/*
⚠️ 注意:rm 方式重启后日志会重建
# /etc/systemd/journald.conf
SystemMaxUse=500M
然后重启:
systemctl restart systemd-journald
find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
⚠️ 生产环境不建议盲目批量操作
rm /var/log/messages
可能导致:
✅ 使用 logrotate(CentOS 自带)
logrotate -f /etc/logrotate.conf
它会:
如果你能告诉我:
我可以给你更精确的命令。