web-dev-qa-db-ja.com

/ bin / sh:1:構文エラー:EOFバッククォート置換

以下に示すように、crontabに新しいタスクを作成しました。

*/2 * * * *       mongodump --db prodys --out /backup/databases/mongoDatabases/`date +"%m-%d-%y"`

次のエラーが発生しています:

/bin/sh: 1: Syntax error: EOF in backquote substitution

助けてください、何が悪いのかわかりません。

15
Vicky

問題は、cronが_%_を改行として扱うことです。 _crontab POSIX man_ページから:

コマンド内のパーセント記号(%)は、円記号¥でエスケープされない限り、改行文字に変更され、最初の%の後のすべてのデータは、標準入力としてコマンドに送信されます。

また、レガシー ``構文ではなく、_ コマンド置換 構文を$()として使用します。

コマンドを次のように変更できます。

_*/2 * * * *       mongodump --db prodys --out /backup/databases/mongoDatabases/$(date +'\%m-\%d-\%y')
_
15
Inian