Копировать данные, хранящиеся в www-data, через ssh

У меня есть сервер Apache (компьютер № 1), на котором хранится база данных, которую я хочу удаленно rsync (для тех, кто знает, на самом деле это сервер owncloud). Мои данные хранятся на сервере и имеют права rwx ------ www-data: www-data или около того.

Теперь у меня есть другая удаленная машина (машина № 2), которую я хотел бы использовать для резервного копирования базы данных первой машины. Машина # 2 будет запускать rsync через ssh и через задание cron. Я не уверен, какую учетную запись использовать для входа на компьютер № 1 через ssh.

  • Я понимаю, что только две учетные записи, которые могут читать / копировать базу данных на компьютере №1, - это www-data и root. Поскольку я не могу войти в систему как www-data (это системная учетная запись, и я не знаю пароля), означает ли это, что мне нужно войти в систему как root через ssh?
  • Возможно ли это? Это безопасно?
  • Другим способом было бы создать другую учетную запись, добавить ее в группу www-data и предоставить права чтения группе www-data.
  • К сожалению, это невозможно, так как именно сервер (owncloud), а не я, предоставляет права доступа к базе данных, а предоставленные права не позволяют группе www-data читать файлы (по крайней мере, не на всех файлы): см. rwx ------

Я не уверен, как организовать учетные записи и права для организации удаленной синхронизации. Есть идеи?

Спасибо,

Антуан.

1
задан 4 August 2014 в 16:48

1 ответ

Я работал бы mysqldump периодически на машине № 1; это дает Вам один большой файл. Этот файл может затем быть передан машине № 2 с помощью rsync (со сжатием, поскольку это будет содержать только текст ASCII, SQL-операторы действительно), не беспокоясь о полномочиях базы данных. На машине № 2 файл дампа нечитабелен для любого, но владельца. И поскольку Ваша база данных по № 1 может быть достигнута от локальной машины, можно даже сделать mysqldump локально, который полезен для тестирования процедуры.

, Если что-нибудь идет не так, как надо на машине № 1, необходимо перезагрузить базу данных из последнего хорошего файла дампа. В основном это - короткая команда, которая стирает целую базу данных и загружает ее из файла дампа. Резервное копирование и процедуры восстановления хорошо зарегистрированы и описаны, например, здесь и больше подсказок, и приемы могут быть найдены путем поиска с помощью Google mysqldump.

Используя этот стандартный инструмент будет намного более безопасным и простым, чем попытка передать файлы данных самостоятельно.

0
ответ дан 4 August 2014 в 16:48

Другие вопросы по тегам:

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