根据this answer,DHCPd租约文件每小时清除一次。目标是连续备份租约文件,因此永远不会丢失租约。这很困难,因为不清楚小时计时器是基于系统时间(例如,文件在凌晨 1 点、凌晨 2 点、凌晨 3 点等重写)还是处理时间(service_start + 1h、service_start + 2h 等)。假设租约文件在凌晨 3 点清空,租约在 2:58:55 授予;备份租约文件的服务需要在清理文件之前快速运行。
DHCPd 进程将自己的文件备份到/var/lib/dhcpd/dhcpd.leases~
. 最好的选择似乎是制作一个脚本,每小时将此文件备份到另一个位置。但是,如果重新启动 DHCPd 进程并且计时器相对于该进程,则备份任务上的小时标记可能会对齐,这可能会导致一个进程读取而另一个进程写入,这可能会破坏文件(取决于它是如何完成的)。因此,备份任务需要了解 DHCPd 何时启动。这变得越来越复杂。
备份 DHCPd 租约文件的“正确”方法是什么,因此不会丢失任何租约?