Как настроить кросс-платформенный сервер резервного копирования на Linux с BackupPC

В этом сообщение я представлю вам BackupPC, программный кросс-платформенный бэкап сервер, который через сеть может вытянуть резервное копирование клиентов Linux, Windows и MacOS. В BackupPC добавлено ряд функций, которые делают резервное копированиче чуть ли не приятной вещью.

Особенности BackupPC

BackupPC поставляется с надёжным веб-интерфейсом, который позволяет вам собирать и управлять централизованным образом резервными копированиями других удалённых хостов. Используя веб-интерфейс, вы можете изучить файлы журналов и конфигурационные файлы, запустить/отменить/настроить расписания резервных копирований удалённых хостов и визуализировать текущий статус задач резервного копирования. Вы также можете просматривать архивные файлы и очень просто восстанавливать отдельные файлы или всё полностью из архивов бэкапов. Для восстановления индивидуальных отдельных файлов, вы можете загружать их из предыдущих бэкапов прямо в веб-интерфейсе. Если этого недостаточно, не требуется специальной программы на стороне клиента для клиентских хостов. На Windows клиентах используется родной протокол SMB, в то время как на *nix клиентах вы будете использовать rsync или tar через SSH, RSH или NFS.

Установка BackupPC

На Debian, Ubuntu, Mint и их производных запустите следующую команду.

# aptitude install backuppc

На Fedora используйте команду yum command. Обратите внимание, что имя пакета регистрозависимое.

# yum install BackupPC

На CentOS/RHEL 6 сначала включите репозиторий EPEL. На CentOS/RHEL 7 включите вместо репозиторий Nux Dextop. Затем продолжайте с командой yum:

# yum install BackupPC

Далее команды на разных дистрибутивах Linux идентичны, пользователи Debian, Ubuntu, Mint и их производных не забывайте ставить sudo перед каждой командой.

Как обычно, обе системы управления пакетами будут заботиться об автоматическом разрешении зависимостей. В дополнение как часть установочного процесса, вас могут спросить настроить почтовый сервер, настроить или перенастроить веб-сервер, который будет использован для графического пользовательского интерфейса. Я не стал ничего настраивать в почтовом сервере (чтобы не удлинять инструкцию). Следующие скриншоты из системы Debian:

01

02

Сделайте ваш выбор нажав на пробел и затем перейдите к Ок, используя кнопку [Tab], и нажмите [Enter].

Вам будет представлена следующий экран, информирующий вас, что администраторский пользовательский аккаунт ‘backuppc’ с соответствующим ему паролем (который, по желанию, может быть изменён), был создан для управления BackupPC. Обратите внимание, что пользовательский аккаунт HTTP и обычный Linux аккаунт с одинаковым именем ‘backuppc’ будут созданы с идентичным паролем. Первый нужен для получения доступа в защищённый веб-интерфейс BackupPC, в то время как второй нужен для выполнения резервного копирования используя rsync через SSH.

03

Вы можете изменить пароль по умолчанию для HTTP пользователя ‘backuppc’ следующей командой:

htpasswd /etc/backuppc/htpasswd backuppc

Для изменения обычного ‘backuppc’ пользовательского аккаунта Linux, используйте команду passwd.

# passwd backuppc

Обратите внимание, что установочный процесс автоматически создаст веб и программный конфигурационные файлы.

Запуск BackupPC и настройка Backups

Чтобы начать, откройте окно браузера по адресу http://<доменное имя или IP адрес сервера>/backuppc/. Когда появится окно запроса, введите данные HTTP пользователя, которые были предоставлены вам ранее. Если авторизация успешна, вас перекинет на главную страницу веб-интерфейса.

15543330314_70321f76ac_o

Наиболее вероятно, первое, что вам нужно сделать, это добавить хосты клиентов для резервного копирования. Перейдите в «Edit Hosts» (редактирвоание хостов) в панеле задач. Мы добавим два клиентских хоста:

  • Host #1: CentOS 7 [IP 192.168.0.17]
  • Host #2: Windows 7 [IP 192.168.0.103]

Мы будем делать резервное копирование CentOS, используя rsync через SSH, и хоста Windows, используя SMB. До выполнения резервного копирования, нам нужно настроить основанную на ключе аутентификацию на наш хост CentOS и сделать доступной по сети (расшарить) каталог на Windows машине.

Вот инструкция для настройки аутентификации, основанной на ключе, для удалённого хоста CentOS. Мы создаём пользователю ‘backuppc’ пару ключей RSA и переносим публичный ключ в аккаунт рута хоста CentOS.

# usermod -s /bin/bash backuppc

# su - backuppc

# ssh-keygen -t rsa

# ssh-copy-id root@192.168.0.17

Когда спросят, напечатайте yes и введите пароль рута для 192.168.0.17.

16164929932_3ee89974e3_o

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

Когда хосты CentOS и Windows готовы, добавьте их в BackupPC используя веб-интерфейс:

15979622709_d4cd1dbd34_o

Следующий шаг состоит из изменения настроек резервного копирования каждого хоста:

16163781611_c939673373_o

Следующее изображение показывает настройку для резервного копирования на Windows машине:

16139884676_8a42b8f619_o

А следующий скриншот показывает настройку резервного копирования для CentOS:

16139884666_6d8234bab3_o

Запуск резервного копирования

Для запуска каждого резервного копирования, перейдите к настройкам каждого хоста, а затем кликните «Start Full Backup»:

15978247428_5c66c062af_o

В любое время, вы можете просмотреть статус процесса, кликнув на home хоста, как показано в изображении выше. Если это по каким-либо причинам не получилось, также появится ссылка на страницу с сообщением ошибки (ошибок) в меню хоста. Когда резервное копирвоание завершено успешно, на сервере создаётся каталог с названием хоста или IP адресом в /var/lib/backuppc/pc:

16165680115_461c1e2150_o

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

Восстановление резервных копий

Для просмотра сохранённых файлов, переходите в раздел «Browse backups», что находится в главном меню хоста. Вы можете визуализировать каталоги и файлы с первого взгляда и выбрать те, которые вы хотите восстановить. Как вариант, вы можете кликнуть по файлу и открыть его, используя программу по умолчанию, или кликните правой кнопкой и выберете Сохранить ссылку, для его загрузки на машину, где вы работаете в данный момент:

16165680105_04d0b568cb_o

Если хотите, то можете загрузить файлы zip или tar, заключающие содержание резеврных копий или просто восстановите файл (файлы) на прежнее место:

15978247398_e798c969b5_o

Заключение

Говорят «Чем проще — тем лучше», и именно это предлагает BackupPC. В BackupPC вы найдёте не только инструмент для резервного копирования, но также разносторонний интерфейс для управления вашими резервными копиями нескольких операционных систем без необходимости приложения на стороне клиента. Я уверен, что более чем достаточная причина, чтобы хотя бы попробовать.

Оставляйте ваши комментарии и вопросы, если они у вас есть, используя форму внизу. Я всегда счастлив услышать, что говорят читатели!

4 комментария

    1. На клиентской машине rsync не нужен. Грубо говоря, BackupPC (с помощью rsync) копирует файлы в папку шары Винды (или другой ОС). Если в роли клиентской машины Linux, то тоже ничего не нужно.

      На клиентских машинах вообще никакие программы не устанавливаются — доступ в BackupPC осуществляется через окно браузера.

      1. тогда я что то не улавливаю. вот лог попытки бэкапа клиента под управлением ос DEBAIN.

        Running: /usr/bin/ssh -q -x -l backuppc 192.168.1.118 /usr/bin/rsync —server —sender —numeric-ids —perms —owner —group -D —links —hard-links —times —block-size=2048 —recursive —ignore-times . /home/backuppc/
        Xfer PIDs are now 2757
        Got remote protocol 1752392034
        Fatal error (bad version): bash: /usr/bin/rsync: Нет такого файла или каталога

        пользователь backuppc без проблем заходит на клиента по SSH  без пароля.

        1. Под конец рабочего дня я запутался — что куда копируется ))

          В общем, на клиентской машине Windows не должно ничего стоять. А на клиентских машинах Linux должно быть:

          • или rsync (если в настройках выбрано резервное копирование с помощью rsync) на каждой клиентской машине. А также модуль perl File::RsyncP http://perlrsync.sourceforge.net/
          • или tar (если в настройках выбрано резервное копирование с помощью tar)
          • если используется smb для бэкапа WinXX, то должны быть smbclient и nmblookup из пакета samba. А ещё нужен nmblookup — если бэкапятся машины linux/unix DHCP.

          Это всё из документации.

          А я себя схему представлял так: Linux с важными данными, на нём установлен BackupPC + rsync, к нему подключена сетевая папка Windows. Время от времени, Linux делает резервные копии в сетевой каталог Windows.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *