這是 crontab 作業
/usr/local/bin/python2.7 /home/scripts/script.py >> /home/scripts/logs/log.log 2>&1
如何在每次執行作業時產生新日誌?
我很樂意在每次生成日誌檔案時向日誌檔案添加一個遞增的計數器。不知道該怎麼做。
我真的需要運行另一個 cron 作業才能做到這一點嗎?
答案1
您可以使用以下date
命令產生唯一的檔案名稱:
/usr/local/bin/python2.7 /home/scripts/script.py > /home/scripts/logs/"`date +\%d\%m\%y_\%H\%M\%S`".log 2>&1
編輯:確保避開百分號( \%
)。他們有個特殊意義在 cron 和 crontab 中將會回傳錯誤。
這樣,<date_time>.log
每次作業執行時都會建立一個新的日誌檔案(稱為 )。
$ date; touch "`date +%d%m%y_%H%M%S`.log"
Tue Sep 25 04:39:25 CEST 2012
$ ls *log
250912_043925.log
假設您的腳本運行頻率不超過每秒一次(如果您運行的是簡單的 crontab,則不能),那麼應該沒問題。
如果按照註釋中的建議,您的腳本由不同的使用者執行,您可以將使用者名稱新增至日誌檔案的名稱:
/usr/local/bin/python2.7 /home/scripts/script.py > /home/scripts/logs/$(echo -n `whoami`_`date +\%d\%m\%y_\%H\%M\%S`).log 2>&1