Сервер BackUpPC

Bacuppc logo

Имея большой опыт работы с офисным планктоном, работающим на операционных системах MS Windows, всегда есть проблема сохранения определенных данных у разных юзверов и серверов. До моего прихода старый админ все серваки настраивал исключительно на винде, чем часто раздражало меня и сотрудников в связи с постоянной глючностью иных. Ну хватит лирики, перехожу к описанию настройки BackUpPC на операционке Ubuntu 12.04 - 14.04 (Статья изначально писалась под Ubuntu 10.04)

Установка системы резервного копирования BackUpPC

apt-get install apache2 backuppc smbclient

После окончания установки его веб-интерфейс будет доступен по адресу http://ваш_адрес/backuppc
Для входа в систему будем использовать логин backuppc и пароль password. Перед тем как начать работу с веб-интерфейсом, необходимо установить пароль для этого пользователя, вводим команду:

htpasswd /etc/backuppc/htpasswd backuppc

Добавить нового пользователя (к примеру sysadmin) и задать ему пароль можно командой:

htpasswd /etc/backuppc/htpasswd sysadmin

Теперь подключаемся через браузер вводим логин и пароль видим окно, в котором прописана только одна клиентская машина для резервного копирования — localhost

Файлы и пути, используемые в BackupPC

Основной файл настроек данной системы резервного копирования — /etc/backuppc/config.pl
В этом же каталоге находится файл hosts, в котором прописаны все клиентские компьютеры с которых будет производится резервное копирование.
В этом каталоге так же должны находиться файлы с расширением pl, которые называются по имени клиентских компьютеров. Именно в них и будут храниться все индивидуальные настройки резервного копирования.
В каталоге /var/lib/backuppc/pc будут храниться резервные копии всех серверов. Соответственно, необходимо предоставить достаточное количество места на диске по этому пути, или прописать другой путь на директорию, где есть большое дисковое пространство, в файле /etc/backuppc/config.pl
Еще один важный путь — /usr/share/backuppc/lib/BackupPC/Lang
Именно там хранятся все файлы локализации интерфейса. Перевод есть на английский, чешский, испанский и некоторые другие языки. Русский перевод от Андрея Маркелова можно взять здесь. Распаковать его надо в /usr/share/backuppc/lib/BackupPC/Lang и соответственно поправить в /etc/backuppc/config.pl $Conf{Language}

Настройка

Резервное копирование Windows-машин производится по протоколу SMB. Приведу пример на одной из машин.
Для добавления нового клиентского хоста в систему добавим в конец файла /etc/backuppc/hosts строчку:
winxp 0 backuppc. Поскольку мне досталась 0-вая подсеть, дальнейшие эксперименты буду показывать на ней. Тем у кого другая, замените на необходимую вам.
И так, создадим файл:

nano /etc/backuppc/winxp.pl

С таким содержимым:

$Conf{ClientNameAlias} = '192.168.0.12';
$Conf{BackupFilesOnly} = {
'C$' => ['/Documents and Settings/User/Мои документы'],
};
$Conf{XferMethod} = 'smb';
$Conf{SmbShareName} = [ 'C$' ];
$Conf{SmbShareUserName} = 'STUDY\\admin';
# Password should be configured on client
$Conf{SmbSharePasswd} = 'admin';
$Conf{PingMaxMsec} = '900';
$Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -Tc$$
$Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -TcN$
$Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -$
$Conf{ClientCharset} = 'cp1252';

Теперь, открыв его веб-интерфейс и перейдя на закладку «Host Summary» в списке клиентских серверов мы увидим наш только что описанный клиентский комп winxp. Жмакаем по ссылке и видим такую картину:


Для первой резервной копии необходимо сделать полный backup, нажмем кнопку «Start Full Backup».
Через какое-то (в зависимости от того сколько бекапим с клиентского компа) время, перейдя на закладку «Browse backups» Мы сможем увидеть все дерево резервной копии с компа.

Создание расписания автоматического копирования.

Настройка расписания резервного копирования производится в свойствах конкретного хоста на закладке «Shedule»


Информация по полям настроек:
Полная резервная копия:
FullPeriod — минимальное время в днях между полными бекапами
FullKeepCnt — сколько полных бекапов необходимо хранить
FullKeepCntMin — минимальное количество хранимых полных бекапов
FullAgeMax — максимальный возраст хранимого полного бекапа

Инкрементальная резервная копия:
IncrPeriod — мин. время в днях между инкрементными бекапами
IncrKeepCnt — сколько инкрементальных бекапов необходимо хранить
IncrKeepCntMin — минимальное количество хранимых инкрементальных бекапов
IncrAgeMax — макс. возраст хранимого инкрементного бекапа
IncrLevels — уровень инкрементального бекапа
IncrFill — использовать в системе хард-линки, что бы инкрементальный бекап выглядел полным.

Для серверов и рабочих станций, работающих под операционной системой GNU/Linux

На сервере создаем пользователя backuppc, и входим под ним:

sudo su - backuppc

Генерируем SSH:

ssh-keygen

На все вопросы тупо жмем enter
Копируем id_rsa.pub на клиентскую машину:

$ scp /var/lib/backuppc/.ssh/id_rsa.pub sudo-user@<client machine>:/home/sudo-user/backuppc.id_ras.pub
$ ssh sudo-user@<client machine>

# chmod 600 backuppc.id_ras.pub
# sudo mkdir /root/.ssh
# sudo chmod 700 /root/.ssh
# sudo mv backuppc.id_ras.pub /root/.ssh/authorized_keys
# sudo chown root:root /root/.ssh/authorized_keys
# exit

Проверяем:

$ ssh root@<client machine>

Отсутствие диалога ввода пароля, говорит о правильной настройке

P.S. При появлении ошибки

Use of qw(...) as parentheses is deprecated at /usr/share/backuppc/lib/BackupPC/Storage/Text.pm line 302.
Use of qw(...) as parentheses is deprecated at /usr/share/backuppc/lib/BackupPC/Lib.pm line 1425.

Делаем следующее:

# wget -q http://www.tolaris.com/blog/wp-content/uploads/2012/05/BackupPC-3.2.1-CVE-2011-170886.diff -O- | patch -p0 -N -r - -d /usr/share/backuppc/

# sudo service backuppc restart

Оцените блог: 
Средняя: 2.6 (237 оценки)