Инструменты пользователя

Инструменты сайта


backuppc

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

backuppc [2018/02/27 09:11] (текущий)
Строка 1: Строка 1:
 +====== BackupPC ======
 +
 +~~Title: BackupPC - система резервного копирования (обновление 2018.02) ~~
 +{{htmlmetatags>​
 +metatag-keywords=(BackupPC)
 +metatag-description=(Список используемых и развивающихся поисковых систем. Список развивающихся социальных сетей.)
 +}}
 +
 +Homepage: [[http://​backuppc.sourceforge.net|BackupPC]] лицензия GNU GPL 2. 
 +
 +BackupPC - система резервного копирования,​ ориентированная на диски.
 +
 +**Возможности BackupPC:**
 +  * Не требует установленного клиента.
 +  * BackupPC является SMB‐ клиентом,​ поддерживает [[SSH]], использует [[tar]] и [[rsync]].
 +  * Поддерживаются все возможности восстановления,​ в том числе прямое восстановление (через smbclient, tar, или rsync/​rsyncd),​ загрузка [[zip]] или [[tar]] архивов.
 +  * Интеллектуальная схема пулинга,​ минимизирующая ​ дисковые ресурсы и ввод/​вывод. Идентичные файлы во множестве резервных копий на одном и том же или разных PC сохраняются только единожды,​ что приводит к экономии дискового пространства и уменьшению количества операций записи. Это также называется "​дедупликация данных"​.
 +  * Опция сжатия обеспечивает дополнительное уменьшение размера резервной копии. Нагрузка на процессор при этом низка, так как сжатию подвергаются только новые файлы (которых ещё нет в пуле).
 +  * Мощный http/cgi интерфейс позволяет администраторам ​  ​просматривать логи, конфигурацию,​ текущий статус,​ а пользователям - начинать и отменять резервное копирование,​ просматривать и восстанавливать файлы из резервных копий.
 +  * Не нужно никаких клиентских программ. Для Windows применяется протокол SMB. А для Linux или Unix можно использовать rsync или tar (через ssh/​rsh/​nfs).
 +  * Гибкие опции восстановления. Как одиночные файлы, так и Zip и Tar архивы выбранных файлов и каталогов могут быть восстановлены непосредственно в CGI интерфейсе.
 +  * BackupPC поддерживает мобильные устройства,​ где имеется непостоянное подключение к сети и динамическая адресация (DHCP).
 +  * Гибкие параметры конфигурации позволяют параллельное выполнение нескольких задач резервного копирования.
 +
 +===== Установка BackupPC на сервер Ubuntu =====
 +BackupPC 3.3 Ubuntu 16.04.3 LTS
 +
 +<code bash>
 +# aptitude install backuppc
 +</​code>​
 +Автоматически будет создан пароль для пользователя '​backuppc'​. Чтобы изменить пароль,​ запустите команду '​htpasswd /​etc/​backuppc/​htpasswd backuppc'​. Изменим расположение директории для бекапов. config.pl - основной конфигурационный файл:
 +<code perl>
 +# cd /​etc/​backuppc/​
 +# nano config.pl
 +$Conf{TopDir} = '/​home/​keephdd/​backuppc';​
 +$Conf{PingMaxMsec} = 200;
 +
 +# mkdir -p /​home/​keephdd/​backuppc/​pc
 +# mkdir -p /​home/​keephdd/​backuppc/​cpool
 +# chown -R backuppc:​backuppc /​home/​keephdd/​backuppc
 +# /​etc/​init.d/​backuppc restart
 +</​code>​
 +Дальнейшие настройки производятся через Web интерфейс по адресу http://​backuppc_server_ip/​backuppc
 +
 +===== Резервное копирование по SSH =====
 +Для использования протокола [[SSH]] для резервного копирования данных с клиентского компьютера,​ следует создать ключи доступа.
 +
 +==== Сервер ====
 +
 +  * Создаем ключи на сервере с установленным BackupPC
 +<file bash>
 +# su - backuppc
 +$ mkdir .ssh
 +$ cd .ssh
 +$ ssh-keygen -t rsa -C remuserbak@backuppc
 +</​file>​на все вопросы просто жмем клавишу Enter<​file bash>
 +$ chmod 600 id_rsa
 +$ ls -l 
 +-rw------- 1 backuppc backuppc 1675 Фев 12 14:59 id_rsa
 +-rw-r--r-- 1 backuppc backuppc ​ 401 Фев 12 14:59 id_rsa.pub
 +</​file>​
 +С приватным ключом id_rsa программа BackupPC будет подключаться к клиентским компьютерам. На клиентские компьютер должен быть перенесён публичный ключ, сделаем это при помощи утилиты [[SSH]]-copy-id,​ она автоматически создаст файл authorized_keys с нашим ключем в директории .ssh. Например:<​file bash>
 +ssh-copy-id -i id_rsa.pub remuserbak@<​IP клиента>​
 +</​file>​
 +
 +==== Клиент Ubuntu 16.04.3 LTS ====
 +
 +Создаем пользователя от имени которого будет производиться копирование данных и задаем ему сложный пароль. Пароль нам понадобится один раз для копирования ssh ключа.
 +<file bash>
 +adduser remuserbak
 +usermod -aG sudo,adm remuserbak
 +</​file>​
 +Даем права на запуск sudo без пароля пользователю remuserbak. В самый конец файла добавляем строчку
 +<file bash>
 +> visudo
 +remuserbak ALL=NOPASSWD:​ /bin/tar, /​usr/​bin/​rsync
 +</​file>​
 +Переносим публичный ключ, сделаем это при помощи утилиты SSH-copy-id. Для этого на сервере,​ где установлен сервер BackupPC, от имени пользователя,​ от которого запускается демон backuppc, запускаем утилиту ssh-copy-id<​file bash>
 +su - backuppc
 +ssh-copy-id -i .ssh/​id_rsa.pub remuserbak@xxx.xxx.xxx.xxx
 +</​file>​ Для того того что все работает,​ подключитесь к клиентскому компьютеру используя команду<​file>​
 +ssh '​remuserbak@xxx.xxx.xxx.xxx'​
 +</​file>​Дальнейшая настройка происходит через веб-интерфейс <​file>​
 +http://​backuppc_server_ip/​backuppc
 +</​file>​
 +  - Страница Edit Hosts добавляем адрес клиента и имя пользователя,​ от которого будет совершаться копирование данных,​ в нашем примере это пользователь remuserbak
 +  - В настройках клиента,​ на странице Xfer Settings указываем XferMethod = [[rsync]], в параметре RsyncShareName задаем директории для копирования
 +  - **Не забываем заменить пользователя root на remuserbak в строках RsyncClientCmd и RsyncClientRestoreCmd.** Эти изменения можно задать как глобально для всего сервера BackupPC, так и индивидуально для каждого клиента. **Не забываем явно для каждого клиента задавать путь к sudo.**<​file bash>
 +$Conf{RsyncClientCmd} = '​$sshPath -q -x -l remuserbak $host /​usr/​bin/​sudo $rsyncPath $argList+';​
 +$Conf{RsyncClientRestoreCmd} = '​$sshPath -q -x -l remuserbak $host /​usr/​bin/​sudo $rsyncPath $argList+';​
 +</​file>​
 +  - Всё!
 +
 +===== Клиенты =====
 +**Не забываем явно для каждого клиента задавать путь к sudo.**
 +  * **Backup [[smb]] ресурсов**. [[Server requested LANMAN password (share-level security) but '​client lanman auth' is disabled]]
 +
 +==== Backup локальных директорий ====
 +
 +  * **Backup локальных директорий**. Через веб-интерфейс изменяем параметр TarClientCmd или в файле /​etc/​backuppc/​localhost.pl меняем строку $Conf{TarClientCmd} = '/​usr/​bin/​env LC_ALL=C $tarPath -c -v -f - -C $shareName --totals'​ Заменяем на $Conf{TarClientCmd} = '/​usr/​bin/​sudo /​usr/​bin/​env LC_ALL=C $tarPath -c -v -f - -C $shareName --totals'​ Настраиваем [[sudo]]: <​code>​
 +# visudo
 +...
 +Defaults ​      ​env_reset
 +#Defaults !lecture
 +
 +backuppc ALL=NOPASSWD:​ /bin/tar, /​usr/​bin/​rsync,​ /​usr/​bin/​env
 +</​code>​ пришлось разрешить /​usr/​bin/​env иначе возникает ошибка Got fatal error during xfer (sudo: no tty present and no askpass program specified)
 +==== Клиент для FreeBSD ====
 +
 +  * **Backup [[ssh]] ресурсов**. **Настройка клиента для ОС FreeBSD**. Используем [[rsync]]: <​code>>​ adduser remuserbak
 +# Даем права на запуск sudo без пароля пользователю remuserbak
 +> visudo
 +...
 +remuserbak ​     ALL=NOPASSWD:​ /​usr/​bin/​tar,​ /​usr/​local/​bin/​rsync
 +# Создаем ключи на сервере с установленным BackupPC
 +# su - backuppc
 +$ mkdir .ssh
 +$ cd .ssh
 +$ ssh-keygen -t rsa -C remuserbak@test4
 +$ chmod 600 id_rsa
 +$ ls -l 
 +-rw------- 1 backuppc backuppc 1675 2010-03-04 10:41 id_rsa
 +-rw-r--r-- 1 backuppc backuppc ​ 405 2010-03-04 10:41 id_rsa.pub
 +</​code>​С приватным ключом id_rsa программа BackupPC будет подключаться к клиентским компютерам. На клиентские компьютер должен быть перенесён публичный ключ, сделаем это при помощи утилиты **[[ssh]]-copy-id**,​ она автоматически создаст файл authorized_keys с нашим ключем в директории .ssh<​code>​
 +$ ssh-copy-id -i id_rsa.pub remuserbak@xxx.xxx.xxx.254
 +Are you sure you want to continue connecting (yes/no)? yes
 +Warning: Permanently added '​xxx.xxx.xxx.254'​ (DSA) to the list of known hosts.
 +Password:
 +Now try logging into the machine, with "ssh '​remuserbak@xxx.xxx.xxx.254'",​ and check in:
 +
 +  .ssh/​authorized_keys
 +
 +to make sure we haven'​t added extra keys that you weren'​t expecting.
 +</​code>​ Для того чтобы убедиться что все действия выполнены успешно,​ пробуем подключиться по ssh с сервера. Если пароль не запрашивается,​ значит все в порядке.<​code>​ssh remuserbak@xxx.xxx.xxx.254</​code>​ **Для FreeBSD в настройках Xfer Settings** меняем 3 параметра:​ путь к [[rsync]] на клиентском компьютере и в ручную меняем строку запуска вместо -l root прописываем нашего пользователя .<​code>​$Conf{RsyncClientPath} = '/​usr/​local/​bin/​rsync';​
 +$Conf{RsyncClientCmd} = '​$sshPath -q -x -l remuserbak $host /​usr/​bin/​sudo $rsyncPath $argList+';​
 +$Conf{RsyncClientRestoreCmd} = '​$sshPath -q -x -l remuserbak $host /​usr/​bin/​sudo $rsyncPath $argList+';​
 +</​code>​
 +
 +
 +
 +====== FAQ. How to purge backups for a host? ======
 +
 +Если нужно удалить полностью резервные файлы для хоста. Вам может понадобиться очистка пула. Его размер вы можете посмотреть в логе системы после перезапуска BackupPC.
 +
 +Очистить пулл BackupPC:<​file bash>
 +su - backuppc
 +$ /​usr/​share/​backuppc/​bin/​BackupPC_nightly 0 255
 +BackupPC_stats 0 = pool,​0,​0,​0,​0,​0,​0,​0,​0,​0,​0,​
 +...
 +</​file>​
 +
 +====== FAQ. BackupPC: ping too slow ======
 +
 +**BackupPC: ping too slow**. При возникновении этой ошибки бекап не производится. Для устранения нужно изменить параметр до 200 $Conf{PingMaxMsec} = 200;
 +
 +====== FAQ. BackupPC: "no ping response"​ for localhost ======
 +
 +После инсталляции BackupPC на Ubuntu, столкнулся тем что не архивируется localhost (то есть сервер на котором установлен непосредственно демон backuppc). В логе backuppc для localhost пишет ошибку no ping response.
 +
 +Для устранения ошибки нужно прописать путь к утилите [[ping]] в директиве $Conf{Ping6Path} в файле /​etc/​backuppc/​config.pl. ​
 +<file bash>
 +$Conf{PingPath} = '/​bin/​ping';​
 +# inserted '/​bin/​ping6'​ for default '':​
 +$Conf{Ping6Path} = '/​bin/​ping6';​
 +</​file>​Не забываем перезапустить сервис<​file bash>
 +service backuppc restart
 +</​file>​
 +====== Ссылки ======
 +
 +  * [[http://​backuppc.sourceforge.net/​faq/​ssh.html|BackupPC FAQ: SSH Setup]]
 +  * [[http://​www.tolaris.com/​apt-repository/​|tolaris.com APT Repository for LTS releases]]: BackupPC 3.3.0
 +  * [[http://​backuppc.sourceforge.net/​faq/​localhost.html|How do you setup the local host to backup?]]
  
backuppc.txt · Последние изменения: 2018/02/27 09:11 (внешнее изменение)