crontab 中的日期和時間格式輸出時間,並使用正斜線作為分隔符號而不是冒號

crontab 中的日期和時間格式輸出時間,並使用正斜線作為分隔符號而不是冒號

我將 urlwatch 的輸出透過管道傳輸到日誌文件,並遇到一個問題,即使用的時間格式中的冒號%T在 OS X 上被正斜線取代。

日期變數:

DATEVAR='+%Y_%m_%d %T'

這是 crontab:

*/2 6-23 * * * /usr/local/bin/urlwatch | /usr/local/bin/ts '[\%b \%d \%H:\%M:\%S] -' > /Users/name/Library/Logs/Urlwatch/urlwatch\ "$(date "$DATEVAR").log"

後面的反斜線/Urlwatch/urlwatch是為了轉義後面的空格。刪除它並使用下劃線並不能解決此問題。換貨%H:%M:%S%T不能解決這個問題。

輸出:

urlwatch 2020_04_12 19/08/00.log

在終端機中運行date給我:Sun Apr 12 19:23:59 CDT 2020

和...

$ DATEVAR="+%Y_%m_%d %T"
$ echo | > /Users/name/Library/Logs/Urlwatch/urlwatch\ "$(date "$DATEVAR").log"

輸出這個檔案:urlwatch 2020_04_12 19/26/01.log

注意:ts是我用brew install moreutils 安裝的非標準osx 二進位。

相關內容