Вы здесь

РЕШЕНИЕ: mysqldump не хочет выполнятся из crontab, хотя в командой строке та же самая команда работает

Проблема: mysqldump не хочет выполнятся из crontab, хотя в командой строке та же самая команда работает.
А так же ситуация, когда написали скрипт, который отлично делает дамп mysql базы, отлично архивирует ваш сайт, но когда добавляем его в crontab, то он упорно не хочет делать дамп, в лучем случае создаёт нулевой или в десяток байт файл.

Причина: 
Crontab слухом не слыхивал про переменные окружений и он не в курсе, кто такой mysqldump и где он находится, потому и не работает. 

РЕШЕНИЕ: Делаем следующее

which mysqldump
получаем путь, например:
/usr/local/bin/mysqldump
теперь во всех скриптах или же в самом CRON пишем ПОЛНЫЙ путь.
Т.е. /usr/local/bin/mysqldump и бла-бла-бла с параметрами

Важно, у вас может быть другой путь, пользуйтесь командой which, чтобы узнать конкретный путь в вашей системе.

Если вы всё выше проделали, а не работает, так же проверьте, ТОТ ли cron вы редактируете, работают ли у вас другие вещи из него, самые элементраные типа echo "test" >> ~/test.log.
Так же возможно некоторые символы типа % могут потребовать экранирования. 

Ну и не забывайте, что вы можете обратиться за помощь в комментариях ниже. 

Добавить комментарий

Редактор TinyMCE

  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br> <img> <hr> <blockquote> <iframe>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.

Чистый текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
то тест на то, человек вы или нет. К сожалению, он необходим для защиты от спама. Если вы зарегистрируетесь, то вводить это больше не придётся.
Image CAPTCHA
Enter the characters shown in the image.