From: Mark Andrews Date: Wed, 19 Jun 2024 00:20:33 +0000 (+1000) Subject: Add a rndc command to close currently open log files X-Git-Tag: alessio/regression/026024a6ae~22^2~4 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=56c1f4aef2dce44737c32d53ef2995afaffbab5e;p=thirdparty%2Fbind9.git Add a rndc command to close currently open log files The new command is 'rndc closelogs'. --- diff --git a/bin/named/control.c b/bin/named/control.c index a3e009799e3..d2aa5a92605 100644 --- a/bin/named/control.c +++ b/bin/named/control.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include @@ -201,6 +202,9 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, command_compare(command, NAMED_COMMAND_MODZONE)) { result = named_server_changezone(named_g_server, cmdline, text); + } else if (command_compare(command, NAMED_COMMAND_CLOSELOGS)) { + isc_log_closefilelogs(named_g_lctx); + result = ISC_R_SUCCESS; } else if (command_compare(command, NAMED_COMMAND_DELZONE)) { result = named_server_delzone(named_g_server, lex, text); } else if (command_compare(command, NAMED_COMMAND_DNSSEC)) { diff --git a/bin/named/include/named/control.h b/bin/named/include/named/control.h index c01cb7b00e1..6f3660ad0f4 100644 --- a/bin/named/include/named/control.h +++ b/bin/named/include/named/control.h @@ -29,6 +29,7 @@ #define NAMED_CONTROL_PORT 953 #define NAMED_COMMAND_ADDZONE "addzone" +#define NAMED_COMMAND_CLOSELOGS "closelogs" #define NAMED_COMMAND_DELZONE "delzone" #define NAMED_COMMAND_DNSSEC "dnssec" #define NAMED_COMMAND_DNSTAP "dnstap" diff --git a/bin/rndc/rndc.rst b/bin/rndc/rndc.rst index da9f0710e45..62603d1da8b 100644 --- a/bin/rndc/rndc.rst +++ b/bin/rndc/rndc.rst @@ -152,6 +152,15 @@ Currently supported commands are: See also :option:`rndc delzone` and :option:`rndc modzone`. +.. option:: closelogs + + This command closes currently open log files. It is intended to be used + by external log rotation tools following this proceedure. + + 1) rename the log files + 2) run ``rndc closelogs`` + 3) optionally compress the log files + .. option:: delzone [-clean] zone [class [view]] This command deletes a zone while the server is running.