Add a new Y flag to newsyslog.conf
This makes newsyslog use zstandard to compress log files. Given Z is already taken for gzip and zstandard compression level stands in between gzip and xz (which has the X flag) chosing Y sounds ok :)
This commit is contained in:
parent
f739280524
commit
1af6dc18b9
@ -17,7 +17,7 @@
|
||||
.\" the suitability of this software for any purpose. It is
|
||||
.\" provided "as is" without express or implied warranty.
|
||||
.\"
|
||||
.Dd September 23, 2014
|
||||
.Dd April 15, 2017
|
||||
.Dt NEWSYSLOG 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -288,6 +288,7 @@ accepted for backwards compatibility.
|
||||
.Xr bzip2 1 ,
|
||||
.Xr gzip 1 ,
|
||||
.Xr xz 1 ,
|
||||
.Xr zst 1 ,
|
||||
.Xr syslog 3 ,
|
||||
.Xr newsyslog.conf 5 ,
|
||||
.Xr chown 8 ,
|
||||
|
@ -100,17 +100,22 @@ __FBSDID("$FreeBSD$");
|
||||
#define COMPRESS_SUFFIX_XZ ".xz"
|
||||
#endif
|
||||
|
||||
#ifndef COMPRESS_SUFFIX_ZST
|
||||
#define COMPRESS_SUFFIX_ZST ".zst"
|
||||
#endif
|
||||
|
||||
#define COMPRESS_SUFFIX_MAXLEN MAX(MAX(sizeof(COMPRESS_SUFFIX_GZ),sizeof(COMPRESS_SUFFIX_BZ2)),sizeof(COMPRESS_SUFFIX_XZ))
|
||||
|
||||
/*
|
||||
* Compression types
|
||||
*/
|
||||
#define COMPRESS_TYPES 4 /* Number of supported compression types */
|
||||
#define COMPRESS_TYPES 5 /* Number of supported compression types */
|
||||
|
||||
#define COMPRESS_NONE 0
|
||||
#define COMPRESS_GZIP 1
|
||||
#define COMPRESS_BZIP2 2
|
||||
#define COMPRESS_XZ 3
|
||||
#define COMPRESS_ZSTD 4
|
||||
|
||||
/*
|
||||
* Bit-values for the 'flags' parsed from a config-file entry.
|
||||
@ -149,7 +154,8 @@ static const struct compress_types compress_type[COMPRESS_TYPES] = {
|
||||
{ "", "", "" }, /* no compression */
|
||||
{ "Z", COMPRESS_SUFFIX_GZ, _PATH_GZIP }, /* gzip compression */
|
||||
{ "J", COMPRESS_SUFFIX_BZ2, _PATH_BZIP2 }, /* bzip2 compression */
|
||||
{ "X", COMPRESS_SUFFIX_XZ, _PATH_XZ } /* xz compression */
|
||||
{ "X", COMPRESS_SUFFIX_XZ, _PATH_XZ }, /* xz compression */
|
||||
{ "Y", COMPRESS_SUFFIX_ZST, _PATH_ZSTD } /* zst compression */
|
||||
};
|
||||
|
||||
struct conf_entry {
|
||||
@ -1299,6 +1305,9 @@ parse_file(FILE *cf, struct cflist *work_p, struct cflist *glob_p,
|
||||
case 'x':
|
||||
working->compress = COMPRESS_XZ;
|
||||
break;
|
||||
case 'y':
|
||||
working->compress = COMPRESS_ZSTD;
|
||||
break;
|
||||
case 'z':
|
||||
working->compress = COMPRESS_GZIP;
|
||||
break;
|
||||
|
@ -21,7 +21,7 @@
|
||||
.\" the suitability of this software for any purpose. It is
|
||||
.\" provided "as is" without express or implied warranty.
|
||||
.\"
|
||||
.Dd October 24, 2015
|
||||
.Dd April 15, 2017
|
||||
.Dt NEWSYSLOG.CONF 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -303,6 +303,12 @@ indicates that
|
||||
should attempt to save disk space by compressing the rotated
|
||||
log file using
|
||||
.Xr xz 1 .
|
||||
.It Cm Y
|
||||
indicates that
|
||||
.Xr newsyslog 8
|
||||
should attempt to save disk space by compressing the rotated
|
||||
log file using
|
||||
.Xr zstd 1 .
|
||||
.It Cm N
|
||||
indicates that there is no process which needs to be signaled
|
||||
when this log file is rotated.
|
||||
|
@ -27,3 +27,4 @@ provided "as is" without express or implied warranty.
|
||||
#define _PATH_BZIP2 "/usr/bin/bzip2"
|
||||
#define _PATH_GZIP "/usr/bin/gzip"
|
||||
#define _PATH_XZ "/usr/bin/xz"
|
||||
#define _PATH_ZSTD "/usr/bin/zstd"
|
||||
|
Loading…
Reference in New Issue
Block a user