Я испытываю действительно странное поведение моей системы резервного копирования innobackupex.Innobackupex call from bash script
Я установил все правильно, выполнил несколько резервных копий с терминала, и он работает хорошо. Моя идея заключается в том, чтобы запустить добавочное резервное копирование один раз в день, поэтому я создал небольшой ш скрипт для того, чтобы поместить его в хрон:
#!/bin/bash
LATEST_DUMP=$(ls -t /home/power/dbbackup | head -1)
innobackupex --incremental --user=db_user --password=db_password /home/power/dbbackup/ --incremental-basedir=$LATEST_DUMP
В основном, это ищет последний сброс в папке, где приращения сохраняются, и используйте его для другой инкрементной дампы. Когда я пытаюсь запустить его, я получаю следующую ошибку:
xtrabackup: Error: cannot open 2016-10-21_00-50-30/xtrabackup_checkpoints
xtrabackup: error: failed to read metadata from 2016-10-21_00-50-30/xtrabackup_checkpoints
Если я запускаю тот же вызов через терминальную командную строку, он отлично работает. Если я попробую запустить этот sh-скрипт, он выдает ошибку. Я использовал один и тот же пользователь для обоих скриптов, папки инкремента читабельны, файл xtrabackup_checkpoints также читаем.
Что мне не хватает?
Что пользователь ваш скрипт работает как через 'cron'? Я предполагаю (не знаю), что это другой пользователь от вашего, и что он не имеет некоторых разрешений, которые у вас есть при входе в систему. Кроме того, возможно, это не проблема, но вы должны добавить некоторые цитаты для обеспечения безопасности от пробелов в именах файлов : '--incremental-basedir =" $ LATEST_DUMP "' – cxw