Резервное копирование 30 БД с помощью сценария .sh с использованием mysqldump. 27 резервных копий БД проходят успешно и имеют одинаковый размер каждый день, а 3 БД - нет и, кажется, просто останавливаются случайным образом на полпути через дамп без ошибок.
Вот сценарий
#!/bin/bash
appname=myapp
dbname=mydb
dbuser=myuser
dbpass=mypass
datestamp=`date +%d%m%y`
rm -f /var/backups/* > /dev/null 2>&1
mysqldump -u$dbuser -p$dbpass $dbname > /var/backups/$dbname-$datestamp.sql && gzip /var/backups/$dbname-$datestamp.sql
tar -zcf /var/backups/data-$datestamp.tar.gz /var/www/data > /dev/null 2>&1
tar -zcf /var/myapp-backups/myapp-$datestamp.tar.gz /var/www/myapp > /dev/null 2>&1
Я проверил сбойную базу данных с помощью Mysqlcheck, и все выглядит нормально, поэтому теперь я не уверен, где искать ошибки.
В моем var / log / mysql ошибок нет, и сегодня в 06.32 написан error.log, который был бы примерно в нужное время, когда cron запускается, но он пуст
Любые идеи Спасибо
Чтобы получать журналы ошибок при создании дампа, добавьте -v и 2> log.txt:
mysqldump -v -u -p имя базы данных> databaseqlfile.sql 2> log.txt
Вы также можете включить подробное ведение журнала в конфигурации mysql и проверять эти журналы, если вы получаете ошибку при выполнении дампа. Запустите mysql и запустите:
показать такие переменные, как '% log%;
Также в файле конфигурации включите следующие журналы:
[mysqld]
бревно
журнал
ошибка журнала
журнал медленных запросов
и перезапустите mysql, чтобы применить изменения.
Вероятно, вам нужно захватить stderr mysqldump
mysqldump ... 2>/var/log/mysqldump.err