Next: Networking Setup, Previous: Запланированное исполнения задач, Up: Сервисы [Contents][Index]
Log files such as those found in /var/log tend to grow endlessly, so
it’s a good idea to rotate them once in a while—i.e., archive their
contents in separate files, possibly compressed. The (gnu services
admin)
module provides an interface to GNU Rot[t]log, a log rotation
tool (see GNU Rot[t]log Manual).
This service is part of %base-services
, and thus enabled by default,
with the default settings, for commonly encountered log files. The example
below shows how to extend it with an additional rotation, should you
need to do that (usually, services that produce log files already take care
of that):
(use-modules (guix) (gnu)) (use-service-modules admin) (define my-log-files ;; Log files that I want to rotate. '("/var/log/something.log" "/var/log/another.log")) (operating-system ;; … (services (cons (simple-service 'rotate-my-stuff rottlog-service-type (list (log-rotation (frequency 'daily) (files my-log-files)))) %base-services)))
This is the type of the Rottlog service, whose value is a
rottlog-configuration
object.
Other services can extend this one with new log-rotation
objects (see
below), thereby augmenting the set of files to be rotated.
This service type can define mcron jobs (see Запланированное исполнения задач) to run the rottlog service.
Data type representing the configuration of rottlog.
rottlog
(default: rottlog
)The Rottlog package to use.
rc-file
(default: (file-append rottlog "/etc/rc")
)The Rottlog configuration file to use (see Mandatory RC Variables in GNU Rot[t]log Manual).
rotations
(default: %default-rotations
)A list of log-rotation
objects as defined below.
jobs
This is a list of gexps where each gexp corresponds to an mcron job specification (see Запланированное исполнения задач).
Data type representing the rotation of a group of log files.
Taking an example from the Rottlog manual (see Period Related File Examples in GNU Rot[t]log Manual), a log rotation might be defined like this:
(log-rotation (frequency 'daily) (files '("/var/log/apache/*")) (options '("storedir apache-archives" "rotate 6" "notifempty" "nocompress")))
The list of fields is as follows:
frequency
(default: 'weekly
)The log rotation frequency, a symbol.
files
The list of files or file glob patterns to rotate.
options
(default: '()
)The list of rottlog options for this rotation (see Configuration parameters in GNU Rot[t]lg Manual).
post-rotate
(default: #f
)Either #f
or a gexp to execute once the rotation has completed.
Specifies weekly rotation of %rotated-files
and of
/var/log/guix-daemon.log.
The list of syslog-controlled files to be rotated. By default it is:
'("/var/log/messages" "/var/log/secure" "/var/log/debug" \
"/var/log/maillog")
.
Next: Networking Setup, Previous: Запланированное исполнения задач, Up: Сервисы [Contents][Index]