Решение для резервного копирования Mysql

Вы могли сделать что-то как:

...
diff /suid.old /suid.new > /newchanges.list
if [ $? -eq 0 ]
then
    mail -s "No changed made" <email@domain.com>
else
    mail -s "Changes Found" <email@domain.com> < /newchanges.list
fi
...

различные выходы с кодом выхода 0 (по крайней мере, на моем поле человечности, необходимо проверить в собственной системе коды выхода), если никакие изменения не найдены.

1
задан 28 November 2011 в 18:17
4 ответа

Это кажется, что Ваши требования являются достаточно пользовательскими, что необходимо будет записать собственный сценарий. Несколько примечаний по тому предмету:

  • Вы не должны выводить все к диску и затем сжимать его. Используйте канал dump/gzip, и он сохранит груду дискового пространства:

    mysqldump ... | gzip -c >/var/backups/mysqldump-$(date +%Y-%m%-d).sql.gz
    
  • Можно заставить большинство проблем блокировки исчезнуть при использовании всех таблиц InnoDB и дампа в транзакции, с --single-transaction опция к mysqldump.

Целый сценарий дампа/нажатия должен быть приблизительно 5 строками. Это довольно тривиально.

4
ответ дан 3 December 2019 в 17:19

Необходимо будет записать собственный сценарий.

Рассмотрение, что Вы не хотите расширенную блокировку, и похоже, что у Вас есть пространство на основном сервере, я рекомендую, чтобы Вы запустили второй mysql экземпляр для репликации на основном сервере и сделали резервное копирование от ведомого устройства репликации.

Не рекомендуется использовать только единственную копию. Существует много сервисов, которые предоставляют Вам резервное пространство для очень низкой стоимости. Например, можно использовать амазонку AWS для резервного копирования или найти другого поставщика пространства. Это будет стоить Вам ниже $10/месяцев, но позволять несколько резервных копий (неделя или больше), и в результате у Вас не будет ни одной из проблем, которые Вы имеете теперь.

Другие варианты: добраться hetzner.de или другой недорогой VPS и установка replication+backup на нем.

1
ответ дан 3 December 2019 в 17:19

Если большинство Ваших данных находится в innodb, затем изучают Xtrabackup

Преимущество для использования ее, если у Вас есть innodb база данных, - то, что она не заблокирует таблицы при выполнении резервного копирования.

0
ответ дан 3 December 2019 в 17:19

Моря.

Я делаю свои mysql-резервные-копии с

  • xtrabackup
  • rdiff-backup

Если Вам действительно не нравится xtrabackup, затем используйте mysqldump (возможно, mk-parallel-dump от maatkit комплекта) или что бы то ни было. После этого Вы могли бросить свои резервные копии через rdiff-резервное-копирование, которое должно просто скопировать измененные части файлов - также, оно может использоваться по сети.

Таким образом на 'маленькой' машине, Вы могли просто сохранить свои ночные дампы, и на удаленной 'большой' машине можно сохранить все rdiff-резервные-копии, обновленные ночью после mysql-дампов взятыми.

Это должно быть легко к сценарию (==, пишут Вашу команду дампа и rdiff-резервный вызов в Ваш crontab), это...

Чао

0
ответ дан 3 December 2019 в 17:19

Теги

Похожие вопросы