crontabで実行されていないパーセント記号付きのコマンド


11

次のcrontabは機能しません。

# TEST LINE DOES DOT RUN
*/1 * * * * /bin/echo 'test '`/bin/date +%Y-%m-%d` >> /tmp/test

私もそれを開始しようとしました:

SHELL=/bin/bash

更新:バックティック文字 `は悪役だと思っていましたが、以下の答えが明らかにしたように、パーセントは犯人でした!


テストラインは1時間に1回だけ実行されます。それはあなたがテストを意図したものではないかもしれません。
user535733

?分#MH DOM月ダウコマンド最初ではありません
lpanebr

そのとおりです。毎分実行するように* / 1に変更しました。cronは正常に実行されています。コマンドには何かがあります。あると思われる/bin/date +%Y-%m-%d
lpanebr

回答:


13

では/bin/date +%Y-%m-%d、あなたはそれぞれをエスケープする必要がある%\に応じて、このmanページ

「6番目」フィールド(行の残り)は、実行するコマンドを指定します。行のコマンド部分全体(改行または%文字まで)は、/ bin / shまたはcronfileのSHELL変数で指定されたシェルによって実行されます。コマンド内のパーセント記号(%)は、バックスラッシュ()でエスケープされない限り、改行文字に変更され、最初の%以降のすべてのデータは標準入力としてコマンドに送信されます。


2
ありがとう!実際の問題に合うように質問を編集します。
lpanebr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.