Эта заметка демонстрирует, как настроить автоматическое резервное копирование данных (бэкапы) с нескольких компьютеров, работающих под управлением Linux с помощью dhcpd на Ubuntu Linux.
Будет использован dhcp3, а также скрипты собственного написания.
1. Серверная сторона
1.1. Настройка dhcp3 В файл /etc/dhcp3/dhcps.conf необходимо добавить следующее:
on commit {
execute (
"/etc/dhcp3/startbackup.sh",
"start",
binary-to-ascii(10,8,".",leased-address)
);
}
1.2. Написание startbackup.sh Далее необходимо в предпочитаемом вами текстовом редакторе создать bash-скрипт startbackup.sh, указанный в файле настройки dhcp.
#!/bin/bash
case "$1" in
start)
sudo -u backup /etc/dhcp3/rsync.sh $2
;;
*)
;;
esac
exit 0 И сохранить его, как /etc/dhcp3/startbackup.sh.
1.3 Написание rsync.sh Затем создадим файл /etc/dhcp3/rsync.sh, в который запишем следующее:
#!/bin/bash
nohup rsync -azuvb backup@$1:/home /backup/$1 & Также необходимо создать директорию, где будут храниться бэкапы: sudo mkdir /backup
1.4 Создание пользователя «backup» Создадим пользователя с именем backup:
sudo useradd backup
sudo chown backup:backup /backup И сгенерируем ssh-ключи:
ssh-keygen -t rsa Которые затем скопируем на все машины, с которых будет производиться резервное копирование:
ssh-copy-id -i ~/.ssh/id_rsa backup@[host] Замените [host] на имя компьютера или компьютеров или на его/их IP-адрес(а).
1.5. Настройка sudo Выполните команду sudo visudo и добавьте в конфигурацию следующую строку:
dhcpd ALL=(backup)NOPASSWD: /etc/dhcp3/startbackup.sh, /etc/dhcp3/rsync.sh
1.6. Настройка AppArmor Откройте файл /etc/apparmor.d/usr.sbin.dhcpd3 и замените в нем часть, которая будет идентична следующей (или похожа на неё):
/etc/dhcp3/ r,
/etc/dhcp3/** r,
/etc/dhcpd.conf r,
/etc/dhcpd_ldap.conf r, на
/etc/dhcp3/ r,
/etc/dhcp3/** r,
/etc/dhcp3/startbackup.sh Uxr,
/etc/dhcpd.conf r,
/etc/dhcpd_ldap.conf r,
1.7. Перезапуск служб Финальным шагом настройки сервера станет выполнение следующих двух команд:
sudo /etc/init.d/apparmor restart
sudo /etc/init.d/dhcp3-server restart
2. Настройка клиента
2.1. Создание пользователя «backup» Как и на сервере, на клиентских машинах необходимо создать пользователя с именем «backup». Сделайте это с помощью следующих команд:
sudo useradd backup
sudo usermod -G root
2.2. Тестирование настроек Для тестирования созданной конфигурации, выполните следующую команду:
sudo dhclient [interface] Где interface — тот, который вы хотите обновить.
Теперь у вас должна быть резервная копия ваших клиентов на сервере.
|