Назад | Перейти на главную страницу

Как правильно сделать резервную копию сервера

Поскольку я не совсем администратор сервера, но мне всегда не терпится узнать что-то новое.

Мне нужно позаботиться о выделенном сервере. На этом сервере 2 виртуальные машины и на каждой виртуальной машине сайт (веб-приложение).

Обе виртуальные машины имеют только интерфейс командной строки CentOS 7. Я подключаюсь через физический сервер по SSH. Когда я вхожу туда, я подключаюсь по ssh к любой виртуальной машине.

Я нашел сценарий bash для tar и сжатия папки / var / www и загрузил его на FTP-сервер. Это работает нормально, но загруженные файлы всегда повреждены. Этот скрипт также делает распакованный дамп баз данных mysql. Этот файл тоже поврежден.

Итак, мой вопрос: помимо исправления того, что повреждает файлы (сама резервная копия, загрузка или FTP-сервер), это хороший способ ?? Как насчет файлов conf (apache2, mysql, другие). Могу я просто добавить их в процедуру резервного копирования?

Я думаю, что для этого есть несколько более чистых и практичных инструментов / скриптов. Я также пробую много веб-администраторов, таких как webmin, ajenti, centos webpanel. Но мне не нравится использовать графический интерфейс на сервере.

TL; DR: нужно знать, есть ли хороший способ резервного копирования / var / www, mysql dump и других файлов (таких как apache2 и mDB conf) на FTP, Dropbox, Cloud.

Спасибо за ваше время. Извините за мой английский.

Это хороший метод резервного копирования, в зависимости от ваших потребностей, с некоторыми плюсами и минусами.

Плюсы:

  • Легко создавать и управлять
  • Для просмотра резервных копий не требуется специального программного обеспечения
  • Можно легко сделать резервную копию всего, что вам нужно

Минусы:

  • Потенциально много файлов для резервного копирования ежедневно
  • Передача больших объемов данных с регулярным копированием резервных копий через FTP *
  • Время на восстановление поврежденной системы потенциально долгое (переустановите сервер [пакеты, библиотеки, пользователи], настройте и скомпилируйте программное обеспечение (например, Apache, PHP), восстановите файлы, чтобы сайт работал

Тем не менее, это довольно распространенный метод, поэтому, если вы можете жить с плюсами и минусами, используйте его.**

Проблема с повреждением FTP

Я предполагаю, что файлы FTP повреждены, потому что они не загружаются в режиме BINARY, а вместо этого передаются в режиме ASCII. Также обратите внимание, что FTP небезопасен, и ваши учетные данные и резервные копии потенциально могут быть перехвачены.

Несжатый дамп MySQL

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

mysqldump -u root -pPASS --all-databases | gzip -9 > mysql.sql.gz

Резервное копирование других конфигов

Да, вы можете просто добавить их в резервную копию. Если вы делаете резервную копию /var/www теперь измените вашу команду примерно так:

tar cf backup.tar mysql.sql.gz /var/www /etc/apache2/conf* /etc/my.cnf /var/spool/cron /etc/ssh

В приведенном выше примере выполняется резервное копирование / var / www, каталогов конфигурации Apache, файла конфигурации MySQL, пользовательских crontab в / var / spool / cron и конфигурации SSHD. При необходимости вы можете добавлять в список файлы / каталоги.

Затем после того, как резервное копирование будет выполнено, перенесите резервную копию в удаленную систему и удалите ее.

Надеюсь, это поможет!


*Если вы можете его поддержать или у вас есть удаленная система, на которую вы можете делать резервную копию, посмотрите rsync.

По сути, вы можете написать команду для резервного копирования всех файлов / каталогов, как указано выше, за исключением того, что они надежно копируются в удаленную систему и также передаются более эффективно. Если у вас есть файлы, которые не изменились между резервными копиями, они не будут скопированы. Если у вас большой файл (например, файл журнала), то копируются только измененные части, что позволяет сэкономить много данных.

Система резервного копирования должна быть доступна через SSH (с использованием ключей или пароля) и иметь установленный rsync. Тогда вы сможете гораздо эффективнее управлять своими резервными копиями. Для дополнительной безопасности вы можете сделать резервную копию файлов на сервере резервного копирования и сохранить историю.

** В зависимости от ОС вашего хоста вы можете изучить программное обеспечение для резервного копирования на уровне блоков, которое может создавать резервные копии вашей системы или виртуальных машин в реальном времени, которые можно использовать для восстановления виртуальной машины с нуля.