У меня есть сервер Apache (компьютер № 1), на котором хранится база данных, которую я хочу удаленно rsync (для тех, кто знает, на самом деле это сервер owncloud). Мои данные хранятся на сервере и имеют права rwx ------ www-data: www-data или около того.
Теперь у меня есть другая удаленная машина (машина № 2), которую я хотел бы использовать для резервного копирования базы данных первой машины. Машина # 2 будет запускать rsync через ssh и через задание cron. Я не уверен, какую учетную запись использовать для входа на компьютер № 1 через ssh.
Я не уверен, как организовать учетные записи и права для организации удаленной синхронизации. Есть идеи?
Спасибо,
Антуан.
Я работал бы mysqldump
периодически на машине № 1; это дает Вам один большой файл. Этот файл может затем быть передан машине № 2 с помощью rsync (со сжатием, поскольку это будет содержать только текст ASCII, SQL-операторы действительно), не беспокоясь о полномочиях базы данных. На машине № 2 файл дампа нечитабелен для любого, но владельца. И поскольку Ваша база данных по № 1 может быть достигнута от локальной машины, можно даже сделать mysqldump локально, который полезен для тестирования процедуры.
, Если что-нибудь идет не так, как надо на машине № 1, необходимо перезагрузить базу данных из последнего хорошего файла дампа. В основном это - короткая команда, которая стирает целую базу данных и загружает ее из файла дампа. Резервное копирование и процедуры восстановления хорошо зарегистрированы и описаны, например, здесь и больше подсказок, и приемы могут быть найдены путем поиска с помощью Google mysqldump
.
Используя этот стандартный инструмент будет намного более безопасным и простым, чем попытка передать файлы данных самостоятельно.