CentOS清空日志需分安全清空内容、删除旧日志、长期管理三步,核心是不破坏文件属性或服务依赖一、安全清空日志文件内容(推荐)若需保留日志文件但清空内容(不影响服务读写),常用命令如下(需root权限):1. 重定向空设备:`> /var/log/[日志文件]`(如`> /var/log/messages`),直接将空内容写入文件,不改变inode和权限。2. cat空设备:`cat /dev/null > /var/log/[日志文件]`,原理同重定向,兼容性更强。3. truncate命令:`truncate -s 0 /var/log/[日志文件]`,将文件大小截断为0,适合大文件快速处理。4. cp空设备:`cp /dev/null /var/log/[日志文件]`,覆盖文件内容,需注意权限。二、删除旧日志文件(需谨慎)仅建议删除已轮转的旧日志(如`.1`/`.2`后缀文件),步骤:1. 停止相关服务:`systemctl stop rsyslog`(避免服务仍在写入日志)。2. 删除旧文件:`rm /var/log/[日志文件].[数字]`(如`rm /var/log/messages.1`)。3. 重启服务:`systemctl start rsyslog`,确保服务重新生成日志。三、长期日志管理(避免重复清理)通过`logrotate`工具自动轮转清理,配置步骤:1. 编辑配置文件:`vim /etc/logrotate.d/[服务名]`(如`rsyslog`)。2. 添加核心参数:• `daily`:每日轮转;• `rotate 7`:保留最近7个备份;• `compress`:压缩旧日志;• `missingok`:忽略空文件;• `notifempty`:不轮转空文件。3. 手动测试:`logrotate -f /etc/logrotate.conf`,验证配置是否生效。四、注意事项1. 禁止直接删除实时日志文件(如`messages`/`syslog`),否则服务可能无法写入新日志。2. 清理前可备份重要日志:`cp /var/log/[日志文件] /tmp/[备份名]`。3. 若磁盘空间紧张,优先用`du -sh /var/log/*`查看大文件,针对性清理。正确性标签: