2012-08-31 24 views
1

我的情況是,我想在我的php腳本發送郵件後隨時輪換postfix的maillog。
爲了讓我可以分析日誌文件,將不同的錯誤消息解散到不同的發件人,然後刪除輪轉的日誌文件,防止原始maillog過大。
我的Freebsd版本是8.0版本。
是否有可能我不必安裝任何額外的程序工具來增加設置系統的難度。
由於事先什麼是Freebsd的默認工具來旋轉由postfx生成的maillog?

回答

0

FreeBSD使用newsyslog(8)進行日誌輪換。它由/etc/newsyslog.conf配置,默認情況下每天使用/ var/log/maillog。

如果真的有必要,您可以致電newsyslog -F /var/log/maillog觸發不定期輪換。但恕我直言,最好不要也只能改變newsyslog.conf中的策略,因爲a)不需要額外的代碼,並且b)意味着配置記錄了系統的狀態。

1

無法logrotate對您有所幫助?這是一個相當標準的工具,用於在nix系統上進行日誌輪換。

如果我處於您的情況,我會使用logrotate並編寫自定義腳本來完成我想要的日誌:因爲您沒有以精確的方式表達您的需求,所以很難給出準確的答案。

當你說你想使用PHP的時候,我希望你不是指「從Web服務器內部」,而是「作爲系統腳本語言」。例如,我真的不會讓Apache PHP模塊處理系統日誌。實際上,我會確保它們不在範圍之內。

此外,我認爲這可能是Server FaultUNIX/Linux的問題。

+1

是的,你是對的我寫了一些PHP腳本,每5分鐘運行一次crontab。使用shell_exec來調用外部程序或shell來做日誌旋轉是我能想出的唯一方法。我發現安裝我的freebsd後沒有「logrotate」的讚美。只有newsyslog和syslog可以使用。我的意思是,如果可以不安裝logrotate或其他非默認工具來手動旋轉日誌。 – inker

相關問題