要優化Linux Syslog存儲空間,可以采取以下幾種方法:
truncate
命令清空日志文件的內容,而不刪除文件本身。例如:sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/syslog.1
/var/log
目錄下所有以 .gz
結尾的壓縮日志文件,這些通常是舊的日志文件。例如:sudo rm /var/log/*.gz
sudo systemctl restart rsyslog
journalctl
進行日志管理journalctl
命令刪除老舊的日志。例如,保留最近 7 天的日志:sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=500M
logrotate
管理日志logrotate
配置文件:可以編輯 /etc/logrotate.d/rsyslog
文件來限制 syslog
的大小。例如:/var/log/syslog {
size 100M
rotate 4
compress
delaycompress
missingok
notifempty
create 640 syslog adm
}
這個配置表示當 syslog
文件達到 100MB 時進行輪替,并保留 4 個輪替的日志文件,壓縮輪替后的舊日志文件,推遲一輪壓縮操作,如果日志文件為空則不進行輪替操作,輪替后創建新日志文件并設置權限。du
命令查看 /var/log
目錄的大小,找出占用空間大的日志文件。例如:sudo du -sh /var/log/*
systemd-journald
的自動日志管理systemd-journald
默認情況下不會持久化保存日志,只會保留一個月的日志??梢允褂靡韵旅钋謇恚?pre class="hljs">sudo journalctl --vacuum-time=1w # 只保留近一周的日志
sudo journalctl --vacuum-size=500M # 只保留 500MB 的日志
通過以上方法,可以有效地優化Linux Syslog的存儲空間,確保系統的日志記錄既高效又節省資源。