1

Я пытаюсь настроить cron для использования mysqldump один раз в день. Нет выходных данных, и я не вижу использования базы данных во время просмотра top . Crontab это:

mysqldump [database] -u[user] -p'[password]' > /home/newvtds/backups/db_backup_`date +\%Y-\%m-\%d_\%H-\%M-\%S`.sql

Есть идеи?

РЕДАКТИРОВАТЬ: у меня есть другие кроны для того же пользователя, которые работают правильно

4 ответа4

3

В записях crontab вы должны экранировать символ%. Это твоя проблема:

http://www.ducea.com/2008/11/12/using-the-character-in-crontab-entries/

1

Перезапустите демон cron:

sudo /etc/init.d/crond restart
0

Есть пары способов, которыми все может пойти не так.

  1. Вам не нужно '' для пароля.
  2. В работе cron всегда указывайте полный путь для mysqldump. Поскольку большая часть оболочки настроена на переменную PATH в переменной окружения, cron, вероятно, не сделает этого предположения, чтобы избежать перехвата исполняемого файла.

А за ошибки в работе cron они всегда отправляются по почте пользователю, которому он принадлежит. Проверьте вашу системную почту для получения дополнительной информации.

0

В общем, я бы позаботился о том, чтобы ваш cron был настроен на вывод почты.

Я бы добавил строку MAILTO=youremail@example.com в ваш crontab, а затем тестовый cron для проверки вывода.

что-то вроде

* * * * * date

и убедитесь, что вы получите вывод.

Также помните, что в cron ваш PATH очень минимален, вероятно, просто /usr /bin:/bin. и нет LD_LIBRARY_PATH. Mysqldump находится в /bin или /usr /bin?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .