mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
services: rottlog: More convenient default options for <log-rotation>.
* gnu/services/admin.scm (%default-log-rotation-options): New variable. (%default-rotations): Use it. * gnu/services/cuirass.scm (cuirass-log-rotations): Likewise. * doc/guix.texi (Log Rotation): Adjust accordingly.
This commit is contained in:
parent
4de445f3da
commit
7d0ebc467f
3 changed files with 18 additions and 10 deletions
|
@ -18811,9 +18811,10 @@ The log rotation frequency, a symbol.
|
|||
@item @code{files}
|
||||
The list of files or file glob patterns to rotate.
|
||||
|
||||
@item @code{options} (default: @code{'()})
|
||||
@vindex %default-log-rotation-options
|
||||
@item @code{options} (default: @code{%default-log-rotation-options})
|
||||
The list of rottlog options for this rotation (@pxref{Configuration
|
||||
parameters,,, rottlog, GNU Rot[t]lg Manual}).
|
||||
parameters,,, rottlog, GNU Rot[t]log Manual}).
|
||||
|
||||
@item @code{post-rotate} (default: @code{#f})
|
||||
Either @code{#f} or a gexp to execute once the rotation has completed.
|
||||
|
|
|
@ -40,6 +40,7 @@ (define-module (gnu services admin)
|
|||
log-rotation-files
|
||||
log-rotation-options
|
||||
log-rotation-post-rotate
|
||||
%default-log-rotation-options
|
||||
|
||||
rottlog-configuration
|
||||
rottlog-configuration?
|
||||
|
@ -82,7 +83,12 @@ (define-record-type* <log-rotation> log-rotation make-log-rotation
|
|||
(post-rotate log-rotation-post-rotate ;#f | gexp
|
||||
(default #f))
|
||||
(options log-rotation-options ;list of strings
|
||||
(default '())))
|
||||
(default %default-log-rotation-options)))
|
||||
|
||||
(define %default-log-rotation-options
|
||||
;; Default log rotation options: append ".gz" to file names.
|
||||
'("storefile @FILENAME.@COMP_EXT"
|
||||
"notifempty"))
|
||||
|
||||
(define %rotated-files
|
||||
;; Syslog files subject to rotation.
|
||||
|
@ -94,20 +100,20 @@ (define %default-rotations
|
|||
(files %rotated-files)
|
||||
|
||||
(frequency 'weekly)
|
||||
(options '(;; These files are worth keeping for a few weeks.
|
||||
(options `(;; These files are worth keeping for a few weeks.
|
||||
"rotate 16"
|
||||
;; Run post-rotate once per rotation
|
||||
"sharedscripts"
|
||||
;; Append .gz to rotated files
|
||||
"storefile @FILENAME.@COMP_EXT"))
|
||||
|
||||
,@%default-log-rotation-options))
|
||||
;; Restart syslogd after rotation.
|
||||
(post-rotate #~(let ((pid (call-with-input-file "/var/run/syslog.pid"
|
||||
read)))
|
||||
(kill pid SIGHUP))))
|
||||
(log-rotation
|
||||
(files '("/var/log/guix-daemon.log"))
|
||||
(options '("rotate 4" ;don't keep too many of them
|
||||
"storefile @FILENAME.@COMP_EXT")))))
|
||||
(options `("rotate 4" ;don't keep too many of them
|
||||
,@%default-log-rotation-options)))))
|
||||
|
||||
(define (log-rotation->config rotation)
|
||||
"Return a string-valued gexp representing the rottlog configuration snippet
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
@ -305,7 +305,8 @@ (define (cuirass-log-rotations config)
|
|||
(files (list (cuirass-configuration-log-file config)
|
||||
(cuirass-configuration-web-log-file config)))
|
||||
(frequency 'weekly)
|
||||
(options '("rotate 40"))))) ;worth keeping
|
||||
(options `("rotate 40" ;worth keeping
|
||||
,@%default-log-rotation-options)))))
|
||||
|
||||
(define cuirass-service-type
|
||||
(service-type
|
||||
|
|
Loading…
Reference in a new issue