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 二进制文件。

相关内容