Linux DHCP备份与恢复方法
一 适用场景与准备
二 备份步骤
sudo systemctl stop isc-dhcp-serversudo cp /etc/dhcp/dhcpd.conf /path/to/backup/dhcpd.conf.baksudo cp /var/lib/dhcp/dhcpd.leases /path/to/backup/dhcpd.leases.baksudo cp /etc/default/isc-dhcp-server /path/to/backup/isc-dhcp-server.baksudo tar -czvf /backup/dhcp_backup_$(date +%F).tar.gz /etc/dhcp /var/lib/dhcp/dhcpd.leasessudo cp /etc/dnsmasq.conf /path/to/backup/dnsmasq.conf.baksudo tar -czvf /backup/dnsmasq_backup_$(date +%F).tar.gz /etc/dnsmasq.confsudo rsync -avz /etc/dhcp/ user@backup:/backup/dhcp/三 恢复步骤
sudo systemctl stop isc-dhcp-serversudo cp /path/to/backup/dhcpd.conf.bak /etc/dhcp/dhcpd.confsudo cp /path/to/backup/dhcpd.leases.bak /var/lib/dhcp/dhcpd.leasessudo cp /path/to/backup/isc-dhcp-server.bak /etc/default/isc-dhcp-serversudo dhcpd -tsudo systemctl start isc-dhcp-serversudo systemctl status isc-dhcp-serversudo ss -ulnp | grep ':67\b'sudo systemctl stop dnsmasqsudo cp /path/to/backup/dnsmasq.conf.bak /etc/dnsmasq.confsudo systemctl start dnsmasqsudo systemctl status dnsmasqsudo ss -ulnp | grep ':67\b'四 自动化与验证
#!/bin/bash BACKUP_DIR="/backup" DATE=$(date +%Y%m%d%H%M%S) mkdir -p "$BACKUP_DIR" cp /etc/dhcp/dhcpd.conf "$BACKUP_DIR/dhcpd.conf.$DATE.bak" cp /var/lib/dhcp/dhcpd.leases "$BACKUP_DIR/dhcpd.leases.$DATE.bak" echo "Backup completed at $DATE" | tee -a "$BACKUP_DIR/backup.log"tar -czvf "$BACKUP_DIR/dhcp_backup_$DATE.tar.gz" /etc/dhcp /var/lib/dhcp/dhcpd.leasesrsync -avz "$BACKUP_DIR/" user@backup:/backup/dhcp/0 2 * * * /usr/local/bin/backup_dhcp.shsudo dhcpd -t(仅 ISC)sudo systemctl status isc-dhcp-server 或 sudo systemctl status dnsmasqsudo ss -ulnp | grep ':67\b'sudo journalctl -u isc-dhcp-server -xe 或 sudo tail -n 200 /var/log/syslog | grep dhcpip a/ipconfig /all 确认可正常获取 IP 与 网关/DNS