При запуске isc-dhcp файл аренды, кажется, неограниченно увеличивается (несколько сотен МБ). Если я перезапущу службу isc-dhcp, размер файла уменьшится до 1,5 МБ.
Как я могу периодически получать записи с истекшим сроком действия isc-dhcp flush без перезапуска всей службы?
Как сказал MadHatter в комментарии, файл аренды периодически создается заново, чтобы избежать этой проблемы. Хотя период не упоминается в документации, обсуждения в списке рассылки dhcp-users указывает, что это следует делать раз в час, и я проверил исходный код и обнаружил, что это правильно.
К сожалению, это не настраиваемый вариант. Чтобы изменить это, вам нужно будет скомпилировать DHCP-сервер из исходников. В файле server/db.c
вам нужно изменить строку
#define LEASE_REWRITE_PERIOD 3600
к желаемому количеству секунд.
Проверьте ответ на мой вопрос Как удалить dhcpd.leases. В моем случае владельцем / var / lib / dhcp был root: root из-за ошибки в isc-dhcp-server. Изменение его на dhcpd: dhcpd временно устраняет проблему, но она возвращается при перезапуске dhcpd.