2011-11-10 3 views
0

Я пытаюсь настроить cronjob на сервере Ubuntu для запуска mysqldump в ночное время.Mysqldump in cronjob on Ubuntu

В моем поиске Google я нашел несколько советов, но я все еще не могу заставить его работать. Вот что я прямо сейчас:

Команда (которая работает отлично при запуске в оболочке):

/usr/bin/mysqldump -uuser -p****** dbname tablename > /var/sql_dump/dump.sql 

добавляю это cronjob, запустив

sudo crontab -e 

И добавив строку:

0 0 * * * /usr/bin/mysqldump -uuser -p****** dbname tablename > /var/sql_dump/dump.sql 

Но когда он достигает этого времени (00:00 в этом случае), файл не создается. При запуске команды в оболочке она даже не занимает секунды, чтобы выполнить ее, поэтому она должна быть быстрой.

За чьим-то предложение, я также работаю

sudo /etc/init.d/cron restart 

но безрезультатно (хроны перезапускаются, но файл не создан до сих пор).

Может ли кто-нибудь заметить то, что я, возможно, пропустил? Очень благодарен за ответы. :)

Редактировать: Я нашел проблему (которая была упущена здесь, когда меня цензурили мой пароль): У меня было% символов в моем пароле, который я должен был убежать. Он отлично работает сейчас :)

ответ

1

Я не совсем уверен, если это причина, но я бы создал сценарий оболочки, который инкапсулирует всю команду, включая параметры и конвейеры, и запускает этот скрипт из cron. Таким образом вы убедитесь, что параметры и трубопроводы не влияют на процесс cron.

Вы можете найти в своем syslog сообщения об ошибках cron, связанные с задачей. Они должны быть зарегистрированы там.

+0

Спасибо за ответ. Я нашел проблему (которая была упущена здесь, когда меня цензурили мой пароль): у меня было% символов в моем пароле, который я должен был убежать. Теперь он отлично работает :) – hesselbom