Cron

我的 cronjob 語法有什麼問題,我正在嘗試使用反引號 (`)?

  • November 3, 2017

這是我想要自動化的內容:

00 08 * * * psql -Uuser database < query.sql | mail somone@null.com -s "query for `date +%Y-%m-%dZ%I:%M`"

這是錯誤消息:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file

crontab(5)

“第六”欄位(該行的其餘部分)指定要執行的命令。該行的整個命令部分,直到換行符或 % 字元,將由 /bin/sh 或 crontab 文件的 SHELL 變數中指定的 shell 執行。命令中的百分號 (%),除非用反斜杠 () 轉義,否則將更改為換行符,第一個 % 之後的所有數據將作為標準輸入發送到命令。無法將單個命令行拆分為多行,例如 shell 的尾隨“\”。

只需在 % 符號前添加反斜杠:

00 08 * * * psql -Uuser database < query.sql | mail somone@null.com -s "query for `date +\%Y-\%m-\%dZ\%I:\%M`"

引用自:https://serverfault.com/questions/84430