源地址:http://www.howtoforge.com/automated-backups-using-dhcpd-on-ubuntu
原作者:mcielen
翻译者:Topkey http://www.unixbar.net
使用说明:蓝色字体为链接、红色字体为shell中的命令、棕色字体为文件中的内容、灰色字体为正文
这篇教程将为你展示如何设置Ubuntu的dhcp来自动备份Linux的主机
我将会使用到下列软件:
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脚本
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 keys:
ssh-keygen -t rsa
拷贝公匙到你想要备份的所有的主机上:
ssh-copy-id -i ~/.ssh/id_rsa backup@[host]
用你的主机地址,或ip地址替代 [host]处。
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 在客户端上
2.1 添加Backup的用户
sudo useradd backup
sudo usermod -G root
2.2 测试设置
sudo dhclient [interface]
在这里interface指的是你想renew的机器
现在你在服务器上就应该有了客户机的备份了。