summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-03-31 23:17:48 +0200
committerLudovic Courtès <ludo@gnu.org>2022-04-04 22:58:03 +0200
commite692dc632cbb0e6d21ed6f09f4c7f52391802cfb (patch)
tree6ff42e58b0792971f13b9a1d3aa40af986b4c579
parent3b9b3b49316596bc1fab2834ef156091b553b4b7 (diff)
services: Add 'log-cleanup' service to '%base-services' for build logs.
* gnu/services/base.scm (%base-services): Add 'log-cleanup-service-type' instance. * doc/guix.texi (Log Rotation): Add example and mention '%base-services'.
-rw-r--r--doc/guix.texi12
-rw-r--r--gnu/services/base.scm5
2 files changed, 16 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ad2763ec8a..b539a78663 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17645,7 +17645,17 @@ Some log files just need to be deleted periodically once they are old,
without any other criterion and without any archival step. This is the
case of build logs stored by @command{guix-daemon} under
@file{/var/log/guix/drvs} (@pxref{Invoking guix-daemon}). The
-@code{log-cleanup} service addresses this use case.
+@code{log-cleanup} service addresses this use case. For example,
+@code{%base-services} (@pxref{Base Services}) includes the following:
+
+@lisp
+;; Periodically delete old build logs.
+(service log-cleanup-service-type
+ (log-cleanup-configuration
+ (directory "/var/log/guix/drvs")))
+@end lisp
+
+That ensures build logs do not accumulate endlessly.
@defvr {Scheme Variable} log-cleanup-service-type
This is the type of the service to delete old logs. Its value must be a
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index f278cb76de..5d7c69a9cd 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2817,6 +2817,11 @@ to handle."
(service rottlog-service-type)
+ ;; Periodically delete old build logs.
+ (service log-cleanup-service-type
+ (log-cleanup-configuration
+ (directory "/var/log/guix/drvs")))
+
;; The LVM2 rules are needed as soon as LVM2 or the device-mapper is
;; used, so enable them by default. The FUSE and ALSA rules are
;; less critical, but handy.