对于ISC DHCP服务器(最常见),主要配置文件通常位于:
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf (IPv6配置)
备份命令:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
sudo cp /etc/dhcp/dhcpd6.conf /etc/dhcp/dhcpd6.conf.bak # 如果有IPv6配置
租约文件通常位于:
/var/lib/dhcp/dhcpd.leases
/var/lib/dhcp/dhcpd6.leases (IPv6租约)
备份命令:
sudo cp /var/lib/dhcp/dhcpd.leases /var/lib/dhcp/dhcpd.leases.bak
sudo cp /var/lib/dhcp/dhcpd6.leases /var/lib/dhcp/dhcpd6.leases.bak # 如果有IPv6租约
sudo tar czvf dhcp_backup_$(date +%Y%m%d).tar.gz /etc/dhcp/ /var/lib/dhcp/
创建自动备份脚本(/usr/local/bin/backup_dhcp.sh
):
#!/bin/bash
BACKUP_DIR="/backup/dhcp"
DATE=$(date +%Y%m%d)
mkdir -p $BACKUP_DIR
cp /etc/dhcp/dhcpd.conf $BACKUP_DIR/dhcpd.conf.$DATE
cp /var/lib/dhcp/dhcpd.leases $BACKUP_DIR/dhcpd.leases.$DATE
tar czf $BACKUP_DIR/dhcp_full_$DATE.tar.gz /etc/dhcp/ /var/lib/dhcp/
# 删除30天前的备份
find $BACKUP_DIR -type f -mtime +30 -delete
然后设置cron任务定期执行:
sudo chmod +x /usr/local/bin/backup_dhcp.sh
sudo crontab -e
添加以下行(例如每天凌晨2点备份):
0 2 * * * /usr/local/bin/backup_dhcp.sh
sudo cp /backup/dhcp/dhcpd.conf.bak /etc/dhcp/dhcpd.conf
sudo cp /backup/dhcp/dhcpd.leases.bak /var/lib/dhcp/dhcpd.leases
sudo tar xzvf dhcp_backup_20230101.tar.gz -C /
sudo systemctl restart isc-dhcp-server
对于大型网络,租约文件可能很大,考虑压缩备份
如果使用其他DHCP服务器(如dnsmasq),配置文件位置可能不同
定期验证备份的完整性