2014-10-28 46 views
1

我已經想出瞭如何使用>>將cron作業輸出到日誌文件並提供日誌文件的路徑。 >>將日誌信息附加到現有文件。我如何做到這一點,以便cron作業每次創建新的日誌文件? (即rsync.log,rsync(1).log,rsync(2).log - 理想情況下,儘管我希望日誌的文件名爲DD-MM-YY.log)。每次執行cron作業時都會創建新的日誌文件

我想要一個單獨的日誌文件,所以這一個日誌文件沒有那麼大,如果/當我們去看看文件/文件夾是否成功備份(我在cron作業中運行rsync命令)我們不必梳理通過MASSIVE日誌文件。

此外,當cron作業輸出到日誌文件時,沒有時間/日期引用。我的第一個日誌輸出示例:

**sending incremental file list** 
**sent 78 bytes received 11 bytes 35.60 bytes/sec** 
**total size is 0 speedup is 0.00** 

就是這樣。每次作業運行時,此日誌文件上的時間戳都會不斷變化,所以我們甚至無法分辨哪個特定文件/文件夾是通過rsync複製的。如果我每次運行cron作業都有一個單獨的日誌文件,則只需打開它創建日期的日誌文件並查看備份的內容即可。

我目前的cronjob:

*/1 * * * * rsync -avz /home/me/test/ [email protected]:test/ >>/home/me/cron_logs/homedir_backups/rsync.log 2>&1 

我只把它設置爲1分鐘用於測試目的。最終這隻會在午夜每天運行。

回答

1

如果您需要時間戳記日誌,請以數字格式添加日期年份的格式化日期命令字符串 日期+%d%y%m。

可以使用反引號把字符串中的cron:

~$ /home/me/cron_log-`/bin/date +%d-%m-%y` 

所以文件名必須附加到它當前的日期。反引號說「運行這個命令並把輸出作爲一個字符串」。

現在的問題是,你的目錄可能會變得很大,然後你必須寫一個簡短的腳本來刪除它們。我有一個腳本讀取格式,並保留X並刪除其餘部分,但大多數人只會使用「find」按時間較舊的東西刪除,例如mtime> 1年的日誌。

+0

提問的不利之處。真棒。只是想非常感謝你Eugene的反撥意見。這正是我所期待的。我會爲你投票,但我不夠流行。 – 00fruX 2014-10-29 04:02:27

+0

@ 00fruX感謝他接受了答案。 – franklin 2015-01-27 14:14:24

+0

感謝提醒@franklin。在它告訴我「投票需要15個聲望」後,我翻了個白眼,關閉了標籤,並且沒有回頭 - 甚至沒有看到複選標記作爲答案。 – 00fruX 2015-01-27 17:25:45

相關問題