在 cron 命令中使用 %

在 cron 命令中使用 %

由于%对 cron 来说具有特殊含义,我该如何将其用作命令的一部分?

我找到了这个页面http://www.hcidata.info/crontab.htm,其中提到管道echosed转义%然后删除多余的\,但在我的情况下,命令是date,它不通过 STDIN 接受参数,所以这不起作用:

echo '+\%Y' | sed -e 's|\\||g' | date

我想我可以创建一个特殊的日期脚本,以我想要的格式输出日期,然后调用它,但我仍然想知道是否可以直接在 cron 命令中执行此操作。

谢谢!

答案1

crontab(5)手册页说:

命令中的百分号 (%),除非使用反斜杠 () 进行转义,否则将被更改为换行符,[...]

因此您应该能够%通过在字符前加上反斜杠来转义该字符\

00 15 * * *  user  date '+\%Y'

\%序列由 处理cron,因此 shell 将看到该命令date '+%Y'是 的正确调用date

相关内容