Мне удалось настроить cronjob:
* 13 * * * date=`date +\%d-\%m-\%Y-\%s`; mysqldump -u root -pPassword1 db121 > /home/backup/xbackup_$date.sql; gzip /home/backup/xbackup_$date.sql
Я надеюсь, что это займет mysqldump
каждый день в 22:00, а затем сохраняйте в каталог / home / backup. Однако у меня это не сработало.
Правильно ли указанная выше запись в crontab? Если да, то почему бы ему не сделать резервную копию, поскольку команда работает нормально, когда я выполняю ее сам.
Спасибо всем за любую помощь
Я читал centos руководство по работе cron и он говорит:
Пользователи кроме корень может настраивать задачи cron с помощью утилиты crontab.
Серли, это неправда?
Из crontab(5)
страница руководства:
The "sixth" field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline charac- ters, and all data after the first % will be sent to the command as standard input.
Я бы сделал это
date='date +\%d-\%m-\%Y-\%s'
0 22 * * * mysqldump -u root -pPassword1 db121 > /home/backup/xbackup_`$date`.sql; gzip /home/backup/xbackup_`$date`.sql
Скорее всего команд нет в вашем $PATH
, укажите в crontab или укажите полные пути к команде, например /usr/bin/mysqldump