Уважаемые господа гуру!
Делаю дамп базы командой:
#mysqldump test > /data/.snap/test_`date '+%d.%m.%y-%H.%M'`.mysql -u root -pmy_passwordВ /data/.snap/ получается файл вида test_'current_date-time'.mysql
Затем пишу ту же команду в /etc/crontab/ (с указанием /usr/local/bin/mysqldump) и... ничего не получается.
В /var/log/cron написано следуещее:
(root) CMD (/usr/local/bin/mysqldump test > /data/.snap/dump_`date '+).
А если написать ту же команду без '+%d.%m.%y-%H.%M', то всё работает, но в имени файла необходим именно формат dd.mm.yy-HH.MM
Вобщем,почему это не работает и как его исправить? ОС: FreeBSD.
Спасибо.
Экранируйте знак процента.
man 5 crontab говорит нам: Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.т.е. ваша срока, доктор Ти-Би-Бо, должна быть: `date '+\%d.\%m.\%y-\%H.\%M'`
создайте скрипт#!/bin/sh
usr/local/bin/mysqldump test > /data/.snap/test_`date '+%d.%m.%y-%H.%M'`.mysql -u root -pmy_passwordобзовите его /root/progr/script.sh, chmod 700 /root/progr/script.sh, и из кронтаба вызывайте его.
Спасибо! Работает и тот и другой способ.
DeusInversus: отдельное спасибо, что Вы в курсе )) я на счёт ника )