2009-09-18 52 views
2

我有一個腳本運行在打印輸出的背景。爲了記錄目的,我將標準輸出重定向到一個文件。但是我不希望這個文件永遠增長,如果不用自己編寫邏輯來完成翻轉,那麼這將是一個好方法嗎? (基於日期或文件大小進行翻轉)。如何翻轉bash的標準輸出?

回答

6

管道輸出到像multilog它會處理所有的東西給你。

而且例如:

script_that_produces_output.sh |multilog s2000 ./logdir 

將要運行腳本標準輸出捕獲到一個名爲./logdir/current文件轉動它時,它是大於2000個字節。

+0

你可以舉一個簡單的例子來說明如何使用multilog嗎? – erotsppa 2009-09-18 19:33:30

1
+0

這取決於日誌程序在旋轉後關閉並重新打開日誌。 – Craig 2009-09-18 18:33:41

+0

'logrotate'可以發送一個信號給程序,它可以捕捉和處理它。很簡單。 – 2009-09-18 19:30:29

0

除了multilog,還有一個類似的工具叫做runit suite的svlogd。您可能會發現已經打包在您的發行版中,因爲daemontools(multilog)最近才成爲公共領域。

相關問題