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} | @item @code{files} | ||||||
| The list of files or file glob patterns to rotate. | 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 | 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}) | @item @code{post-rotate} (default: @code{#f}) | ||||||
| Either @code{#f} or a gexp to execute once the rotation has completed. | Either @code{#f} or a gexp to execute once the rotation has completed. | ||||||
|  |  | ||||||
|  | @ -40,6 +40,7 @@ | ||||||
|             log-rotation-files |             log-rotation-files | ||||||
|             log-rotation-options |             log-rotation-options | ||||||
|             log-rotation-post-rotate |             log-rotation-post-rotate | ||||||
|  |             %default-log-rotation-options | ||||||
| 
 | 
 | ||||||
|             rottlog-configuration |             rottlog-configuration | ||||||
|             rottlog-configuration? |             rottlog-configuration? | ||||||
|  | @ -82,7 +83,12 @@ | ||||||
|   (post-rotate log-rotation-post-rotate           ;#f | gexp |   (post-rotate log-rotation-post-rotate           ;#f | gexp | ||||||
|                (default #f)) |                (default #f)) | ||||||
|   (options     log-rotation-options               ;list of strings |   (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 | (define %rotated-files | ||||||
|   ;; Syslog files subject to rotation. |   ;; Syslog files subject to rotation. | ||||||
|  | @ -94,20 +100,20 @@ | ||||||
|          (files %rotated-files) |          (files %rotated-files) | ||||||
| 
 | 
 | ||||||
|          (frequency 'weekly) |          (frequency 'weekly) | ||||||
|          (options '(;; These files are worth keeping for a few weeks. |          (options `(;; These files are worth keeping for a few weeks. | ||||||
|                     "rotate 16" |                     "rotate 16" | ||||||
|                     ;; Run post-rotate once per rotation |                     ;; Run post-rotate once per rotation | ||||||
|                     "sharedscripts" |                     "sharedscripts" | ||||||
|                     ;; Append .gz to rotated files | 
 | ||||||
|                     "storefile @FILENAME.@COMP_EXT")) |                     ,@%default-log-rotation-options)) | ||||||
|          ;; Restart syslogd after rotation. |          ;; Restart syslogd after rotation. | ||||||
|          (post-rotate #~(let ((pid (call-with-input-file "/var/run/syslog.pid" |          (post-rotate #~(let ((pid (call-with-input-file "/var/run/syslog.pid" | ||||||
|                                      read))) |                                      read))) | ||||||
|                           (kill pid SIGHUP)))) |                           (kill pid SIGHUP)))) | ||||||
|         (log-rotation |         (log-rotation | ||||||
|          (files '("/var/log/guix-daemon.log")) |          (files '("/var/log/guix-daemon.log")) | ||||||
|          (options '("rotate 4"                    ;don't keep too many of them |          (options `("rotate 4"                    ;don't keep too many of them | ||||||
|                     "storefile @FILENAME.@COMP_EXT"))))) |                     ,@%default-log-rotation-options))))) | ||||||
| 
 | 
 | ||||||
| (define (log-rotation->config rotation) | (define (log-rotation->config rotation) | ||||||
|   "Return a string-valued gexp representing the rottlog configuration snippet |   "Return a string-valued gexp representing the rottlog configuration snippet | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> | ;;; 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, 2020 Mathieu Othacehe <m.othacehe@gmail.com> | ||||||
| ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> | ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> | ||||||
| ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> | ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> | ||||||
|  | @ -305,7 +305,8 @@ | ||||||
|          (files (list (cuirass-configuration-log-file config) |          (files (list (cuirass-configuration-log-file config) | ||||||
|                       (cuirass-configuration-web-log-file config))) |                       (cuirass-configuration-web-log-file config))) | ||||||
|          (frequency 'weekly) |          (frequency 'weekly) | ||||||
|          (options '("rotate 40")))))              ;worth keeping |          (options `("rotate 40"                   ;worth keeping | ||||||
|  |                     ,@%default-log-rotation-options))))) | ||||||
| 
 | 
 | ||||||
| (define cuirass-service-type | (define cuirass-service-type | ||||||
|   (service-type |   (service-type | ||||||
|  |  | ||||||
		Reference in a new issue