[PATCH] Add feature to gzip rotated message logs.
Denys Vlasenko
vda.linux at googlemail.com
Fri Jun 8 20:02:07 UTC 2012
On Wednesday 06 June 2012 06:07, Danomi Manchego wrote:
> Signed-off-by: Danomi Manchego <danomimanchego123 at gmail.com>
> ---
> sysklogd/Config.src | 7 +++++++
> sysklogd/syslogd.c | 23 ++++++++++++++++++++++-
> 2 files changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/sysklogd/Config.src b/sysklogd/Config.src
> index b7a494e..5ca86f4 100644
> --- a/sysklogd/Config.src
> +++ b/sysklogd/Config.src
> @@ -30,6 +30,13 @@ config FEATURE_ROTATE_LOGFILE
> This enables syslogd to rotate the message files
> on his own. No need to use an external rotatescript.
>
> +config FEATURE_GZIP_ROTATED_LOGFILE
> + bool "Gzip rotated message files"
> + default n
> + depends on GZIP && SYSLOGD
> + help
> + Compress rotated message files using gzip.
> +
It should not depend on GZIP - system may already have gzip
not for bbox.
> +#if ENABLE_FEATURE_GZIP_ROTATED_LOGFILE
> + // gzip if gzip enabled, create patch.
> + while (1) {
> + sprintf(newFile, "%s.%d.gz", log_file->path, i);
> + if (i == 0) break;
> + sprintf(oldFile, "%s.%d.gz", log_file->path, --i);
> + /* ignore errors - file might be missing */
> + rename(oldFile, newFile);
> + }
> + /* newFile == "f.0" now */
> + sprintf(newFile, "%s.0", log_file->path);
> + rename(log_file->path, newFile);
> + char *argv[3] = {
> + "gzip",
> + };
> + argv[1] = newFile;
> + argv[2] = NULL;
> + spawn_and_wait(argv);
> +#else
It is unconditional? I assume an option would be better.
A more generic idea would be to run a user-defined helper
on the rotated logs.
Why do you need this feature at all?
--
vda
More information about the busybox
mailing list