mysqldump иногда возвращает пустой файл

0

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

DATE='date +%Y-%m-%d-%H-%m'
NAME=bkp-server-207-$DATE.sql.gz
mysqldump -u root -pXXXX@2016 xxxx | gzip > /media/backup_folder/$NAME
Теги:
cron

1 ответ

0

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

Вы можете зарегистрировать его на уровне cron (см. Http://www.thegeekstuff.com/2012/07/crontab-log/)

59 23 * * * /home/john/bin/backup.sh >> /home/john/logs/backup.log 2>&1

2>&1 складывает stderr в stdout, поэтому оба сохраняются.

Или вы можете регистрировать определенные команды в своем скрипте:

echo "Creating $NAME" >>/home/john/logs/backup.log
mysqldump -u root -pXXXX@2016 xxxx 2>>/home/john/logs/backup.log | gzip > /media/backup_folder/$NAME

Как только вы получите сообщение об ошибке, у вас должны быть важные подсказки относительно причины сбоя.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню