Linux系统清理:清理日志文件的步骤

上周清理 Linux 日志 相当麻烦。

先看位置。
默认为/var/log。
使用 ls -lh /var/log 查看文件。
syslog 和 kern.log 通常是最大的。
我知道要删除哪一个。

手动清洁。
想要清除内容吗? 使用 truncate -s 0 文件名。
例如,截断 -s 0 /var/log/syslog。
文件仍然存在,但内容消失了。
想彻底删除吗? rm /var/log/syslog.txt 对此要小心。
删除后,必须重新启动服务才能有新的日志。

使用 logrotate 是个好主意。
我们先看一下全局配置。
猫/etc/logrotate.conf。
然后手动运行它。
logrotate -vf /etc/logrotate.conf。
-d 模式启用调试。

单独分配服务。
比如Nginx。
sudo nano /etc/logrotate.d/nginx。
写入旋转 7 ,最大数量 3 0。
这意味着保留 7 个备份并删除超过 3 0 天的备份。

您也可以直接删除服务日志。
截断-s 0 /var/log/nginx/access.log。
然后重新启动服务。
systemctl 重新启动 nginx。
将重新生成新日志。

时钟任务也可用。
编辑 crontab. 须藤 crontab -e。
凌晨 3 点清除所有 .log: 03 find /var/log -type f -name ".log" -exec truncate -s 0 {} \;.
或者每周删除 3 0 天前: 02 0 0 查找 /var/log -type f -mtime +3 0 -delete。

还有工具。
logwatch可以发送报告。
sudo apt-get install logwatch。
更改配置/etc/logwatch/conf/logwatch.conf。
MailTo 写入邮箱。

可以实时查看一览。
运行扫视并单击“日志”选项卡。
可以手动清除。

有几点需要注意。
先备份重要日志。
sudo cp /var/log/syslog /var/log/syslog.bak。
不要删除 wtmp 文件。
系统登录记录都在里面。

该服务可能需要重新启动。
比如MySQL。
删除日志后必须​​重新启动。

需要尝试Logrotate配置。
sudo logrotate -d /etc/logrotate.d/nginx.conf -d是调试模式,并不真正删除。

算了。
由你决定。

Linux清理日志文件的技巧

清理Linux日志有四种方法:
1 .使用 logrotate 自动执行此操作。
/etc/logrotate.conf 全局配置。
/etc/logrotate.d/myapp 是独立配置的。
/var/log/myapp/.log 每天轮换。
保留超过 7 天的日志。
压缩旧日志。
如果日志丢失,则不会报告任何错误。
空日志不会轮换。
新增日志权限06 4 0,root adm。

2 手动删除文件。
echo "" > 删除/var/log/myapp.log 的内容。
truncate -s 0 /var/log/myapp.log 文件将被设置为 0。

3 .批量删除过期日志。
查找 /var/log -type f -name ".log" -mtime +3 0 -exec rm {} \; 所有超过 3 0 天的日志都将被删除。

4 配置您的日志系统。
rsyslog 的大小在 /etc/rsyslog.conf 中受到限制。
syslog-ng 立即写入 /syslog-ng/syslog-ng.conf。

首先,日志轮换。
手动清洁时要小心。
定期检查日志大小。
备份重要日志。

自己掂量一下。