Возможный дубликат:
экранирование двойных кавычек и знаков процента (%) в cron
У меня есть следующая команда в cron:
5 6 * * * bash -c "tar -czf /backups/sites-server-files-rotate/sites_`date +%F`.tar.gz /backups/sites-server-files/"
Но команда не выполняется. И я вижу следующее в журнале cron:
Apr 17 06:05:01 backup crond[9423]: (root) CMD (bash -c "tar -czf /backups/sites-server-files-rotate/sites_`date +)
Похоже, что знак %
обрезает команду в cron. Почему? Нужно ли его убрать? И как?
Да, вам нужно сбежать. Подойдет обратная косая черта.
Вы также можете поместить команду в сценарий и вместо этого вызвать сценарий.
Вы можете создать файл bash со своим скриптом, а затем добавить его в crontab.
Например:
make file script.sh
#!/bin/bash
tar -czf /backups/sites-server-files-rotate/sites_\`date +%F\`.tar.gz /backups/sites-server-files/
Затем добавьте в cron:
5 6 * * * /dir/to/your/script.sh