На этот вопрос уже есть ответ здесь:
Я пытаюсь запустить в cron следующее для резервного копирования сервера каждое утро в 4 часа ночи:
0 4 * * * dump -0uan -f - / | gzip -2 | ssh -c blowfish user@server dd of=/backups/`hostname`_`date '+%m-%d-%Y_%k%M%S'`.dump.gz
Выполнение команды самостоятельно из оболочка работает нормально. Обычно, когда это происходит, проблема связана с путями, поэтому я попытался добавить полные пути в cron:
0 4 * * * /sbin/dump -0uan -f - / | /usr/bin/gzip -2 | /usr/bin/ssh -c blowfish user@server /bin/dd of=/backups/`hostname`_`date '+%m-%d-%Y_%k%M%S'`.dump.gz
, но все равно безуспешно. Я проверил системный журнал и увидел следующее:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Та же ошибка возникает с указанными путями и без них. Должна быть довольно простая команда. Cron выполняет это иначе, чем написано?
Экранируйте знак процента или поместите всю строку в сценарий и активируйте его вместо этого.