/var/log目录中的日志文件是根分区满载的常见原因。以下是清理步骤:
1、检查日志文件大小
ls -lh /var/log
解释:ls -lh列出/var/log中文件的大小,-h使其以人类可读格式显示。
2、清理特定日志
以syslog或messages为例,清理旧日志:
$sudo truncate -s 0 /var/log/syslog
$sudo truncate -s 0 /var/log/messages
解释:truncate -s 0将文件内容清空但保留文件本身,避免破坏日志系统。
3、压缩和归档旧日志
如果需要保留日志,可以压缩并归档:
$ sudo find /var/log -name "*.log" -exec gzip {} \;
解释:find查找所有.log文件,gzip对其进行压缩,生成.gz文件以节省空间。
4、配置日志轮转
为防止日志再次失控,配置logrotate进行自动轮转:
$ sudo nano /etc/logrotate.conf或在sudo cat /etc/logrotate.d/syslog
在配置文件中调整参数,例如:
/var/log/syslog {
daily
rotate 7
compress
missingok
}
解释:daily每天轮转,rotate 7保留7天的日志,compress压缩旧日志,missingok忽略丢失的日志文件。