5

SQLを自動的にバックアップするようにCronを構成しています。しかし、Cron にはいくつかの問題があり、うまく機能していないと思います。

これは私が実行しているコマンドです:

mysqldump --opt -Q -uhereisthename -p'hereisthepasswordwithstrangecharactersthatmustbeescaped' databasename | gzip > /home2/username/backups/backupnamefolder/backupdbwebsitename.`date +"%Y-%m-%d"`.gz

SSH経由で実行すると、正常に動作し、バックアップが生成されます。ただし、Cron 経由で実行すると、次のエラーが発生します。

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

誰が何が悪いのか提案できますか?

4

1 に答える 1

5

Cron は % を特殊文字 (「改行」を意味するため、エラー メッセージの行 0 と 1 への参照) として扱います。あなたはそれをエスケープする必要があります:

date "+\%Y-\%m-\%d"

ところで、posix$( )構文は通常、バッククォートよりも優れています。ネストされたコマンドが許可されます。

于 2013-10-12T21:41:05.470 に答える