I set up a cron job on my server running RedHat 4.1 to backup MySQL databases, and then upload to Amazon S3. The goal is to drop the .bz2 file in a folder corresponding with the day of the week. However, I'm getting the following error mailed to me by daemon.
Cron job:
MAILTO=backups@example.com
0 4 * * * mysqldump --all-databases -ubackups -pPassword | gzip > all-databases.sql.bz2; s3cmd put all-databases.sql.bz2 s3://backup_exampleserver.com/mysql_backups/`date +%A`/all-databases.sql.bz2
Error message:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Best Answer
You need to escape the percent sign in your command with a backslash:
\%
, otherwise it is interpreted as the end of command.From crontab(5):