Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Решение административных задач в Linux

Автоматизация резервного копирования в Ubuntu с использованием dhcpd

Оригинал: Automated Backups Using dhcpd On Ubuntu
Дата публикации: 13 октября 2009 г.
Перевод: М.Ульянов
Дата перевода: декабрь 2009 г.

В этом руководстве показано, как настроить автоматическое резервное копирование Linux-хостов с использованием dhcpd в Ubuntu.

Будем использовать следующее ПО:

  • dhcp3
  • пользовательские скрипты

 

Настройка сервера

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

sudo vi /etc/dhcp3/startbackup.sh
#!/bin/bash
case "$1" in
start)
  sudo -u backup /etc/dhcp3/rsync.sh $2
;;
*)
;;
esac
exit 0

 

1.3 Создаем rsync.sh

sudo vi /etc/dhcp3/rsync.sh
#!/bin/bash
nohup rsync -azuvb backup@$1:/home /backup/$1 &

и добавляем папку /backup:

sudo mkdir /backup

 

1.4 Добавляем пользователя "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

sudo vi /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.1 Добавляем пользователя "backup"

sudo useradd backup
sudo usermod -G root

 

2.2 Тестируем работоспособность

sudo dhclient [interface]

вместо interface введите необходимое имя.

Настройка резервного копирования завершена: на сервере отныне хранятся резервные копии данных с клиентских машин.