Logging
在 Solaris 上為服務清單清理日誌文件
我在 Solaris(實際上是智能作業系統)上有一個服務清單,我想定期自動或手動清理其日誌文件,而無需關閉伺服器。
我的日誌在這裡:
/var/svc/log/site-myapp-joyent-smartos-node-service-manifest-1:default.log
有沒有辦法清理它,限制它的大小,或者移動它?
我會使用 logadm 為您輪換日誌。在最新的基礎映像 (13.1.0) 上,有一個用於輪換 SMF 日誌的預設 logadm 條目(檢查 /etc/logadm.conf 文件):
smf_logs -C 3 -c -s 1m /var/svc/log/*.log
該條目將在 SMF 服務日誌的大小達到 1m 時輪換(-s 1m),每次輪換後僅保留 3 個版本(-C 3),並通過複製原始日誌文件然後將其截斷為零來輪換日誌(-c )。上面的好處是它是一個基於模式的 logadm 定義,所以你可以手動執行它:
logadm smf_logs
基本 13.1.0 映像上有一個 crontab 條目(在 root 使用者下),每小時執行一次 logadm。
10 * * * * /usr/sbin/logadm
每小時一次的 cron 適合基於大小的輪換,並且有助於檢查某些日誌是否會快速增長。