summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-05-04 21:30:12 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-05-04 21:32:32 +0300
commitf66344ed81c47df6cf4606469b8f4c5732f4b9db (patch)
treee1f2de3939f13926ef62ae4895528394823843e3
parentdf18eac9abe36f07f0acdbc2c4c13a4babe0a362 (diff)
downloadguix-f66344ed81c47df6cf4606469b8f4c5732f4b9db.tar.gz
services: earlyoom: Rotate log files.
* gnu/services/linux.scm (%earlyoom-log-rotation): New variable.
(earlyoom-service-type): Add service-extension for log rotation.
-rw-r--r--gnu/services/linux.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm
index 4f28044112..d105c42850 100644
--- a/gnu/services/linux.scm
+++ b/gnu/services/linux.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
-;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020, 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
 ;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
 ;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
@@ -30,6 +30,7 @@
   #:use-module (guix i18n)
   #:use-module (guix ui)
   #:use-module (gnu services)
+  #:use-module (gnu services admin)
   #:use-module (gnu services base)
   #:use-module (gnu services configuration)
   #:use-module (gnu services mcron)
@@ -155,13 +156,19 @@ representation."
              #:log-file "/var/log/earlyoom.log"))
    (stop #~(make-kill-destructor))))
 
+(define %earlyoom-log-rotation
+  (list (log-rotation
+         (files '("/var/log/earlyoom.log")))))
+
 (define earlyoom-service-type
   (service-type
    (name 'earlyoom)
    (default-value (earlyoom-configuration))
    (extensions
     (list (service-extension shepherd-root-service-type
-                             (compose list earlyoom-shepherd-service))))
+                             (compose list earlyoom-shepherd-service))
+          (service-extension rottlog-service-type
+                             (const %earlyoom-log-rotation))))
    (description "Run @command{earlyoom}, the Early OOM daemon.")))