157 lines
8.1 KiB
ReStructuredText
157 lines
8.1 KiB
ReStructuredText
``logrotate``
|
|
=============
|
|
|
|
This module configures ``logrotate``. Further information an examples can be
|
|
found in the following link:
|
|
|
|
* https://git.psi.ch/linux-infra/voxpupuli-logrotate
|
|
|
|
Main class ``logrotate`` can be called, but usually calling just a rule ``logrotate::rule``
|
|
should be enough to automatically configure ``logrotate`` in the host. It will use the
|
|
default values for this class, which is placing all the default ``rules`` from the O.S.
|
|
to the ``/etc/logrotate.d`` directory.
|
|
|
|
Parameters
|
|
----------
|
|
|
|
All available parameters are::
|
|
|
|
namevar - The String name of the rule.
|
|
path - The path String to the logfile(s) to be rotated.
|
|
ensure - The desired state of the logrotate rule as a String. Valid
|
|
values are 'absent' and 'present' (default: 'present').
|
|
compress - A Boolean value specifying whether the rotated logs should
|
|
be compressed (optional).
|
|
compresscmd - The command String that should be executed to compress the
|
|
rotated logs (optional).
|
|
compressext - The extention String to be appended to the rotated log files
|
|
after they have been compressed (optional).
|
|
compressoptions - A String of command line options to be passed to the
|
|
compression program specified in `compresscmd` (optional).
|
|
copy - A Boolean specifying whether logrotate should just take a
|
|
copy of the log file and not touch the original (optional).
|
|
copytruncate - A Boolean specifying whether logrotate should truncate the
|
|
original log file after taking a copy (optional).
|
|
create - A Boolean specifying whether logrotate should create a new
|
|
log file immediately after rotation (optional).
|
|
create_mode - An octal mode String logrotate should apply to the newly
|
|
created log file if create => true (optional).
|
|
create_owner - A username String that logrotate should set the owner of the
|
|
newly created log file to if create => true (optional).
|
|
create_group - A String group name that logrotate should apply to the newly
|
|
created log file if create => true (optional).
|
|
dateext - A Boolean specifying whether rotated log files should be
|
|
archived by adding a date extension rather just a number
|
|
(optional).
|
|
dateformat - The format String to be used for `dateext` (optional).
|
|
Valid specifiers are '%Y', '%m', '%d' and '%s'.
|
|
dateyesterday - A Boolean specifying whether to use yesterday's date instead
|
|
of today's date to create the `dateext` extension (optional).
|
|
delaycompress - A Boolean specifying whether compression of the rotated
|
|
log file should be delayed until the next logrotate run
|
|
(optional).
|
|
extension - Log files with this extension String are allowed to keep it
|
|
after rotation (optional).
|
|
ifempty - A Boolean specifying whether the log file should be rotated
|
|
even if it is empty (optional).
|
|
mail - The email address String that logs that are about to be
|
|
rotated out of existence are emailed to (optional).
|
|
mailfirst - A Boolean that when used with `mail` has logrotate email the
|
|
just rotated file rather than the about to expire file
|
|
(optional).
|
|
maillast - A Boolean that when used with `mail` has logrotate email the
|
|
about to expire file rather than the just rotated file
|
|
(optional).
|
|
maxage - The Integer maximum number of days that a rotated log file
|
|
can stay on the system (optional).
|
|
minsize - The String minimum size a log file must be to be rotated,
|
|
but not before the scheduled rotation time (optional).
|
|
The default units are bytes, append k, M or G for kilobytes,
|
|
megabytes and gigabytes respectively.
|
|
maxsize - The String maximum size a log file may be to be rotated;
|
|
When maxsize is used, both the size and timestamp of a log
|
|
file are considered for rotation.
|
|
The default units are bytes, append k, M or G for kilobytes,
|
|
megabytes and gigabytes respectively.
|
|
missingok - A Boolean specifying whether logrotate should ignore missing
|
|
log files or issue an error (optional).
|
|
olddir - A String path to a directory that rotated logs should be
|
|
moved to (optional).
|
|
postrotate - A command String that should be executed by /bin/sh after
|
|
the log file is rotated (optional).
|
|
prerotate - A command String that should be executed by /bin/sh before
|
|
the log file is rotated and only if it will be rotated
|
|
(optional).
|
|
firstaction - A command String that should be executed by /bin/sh once
|
|
before all log files that match the wildcard pattern are
|
|
rotated (optional).
|
|
lastaction - A command String that should be execute by /bin/sh once
|
|
after all the log files that match the wildcard pattern are
|
|
rotated (optional).
|
|
rotate - The Integer number of rotated log files to keep on disk
|
|
(optional).
|
|
rotate_every - How often the log files should be rotated as a String.
|
|
Valid values are 'hour', 'day', 'week', 'month' and 'year'
|
|
(optional). Please note, older versions of logrotate do not
|
|
support yearly log rotation.
|
|
size - The String size a log file has to reach before it will be
|
|
rotated (optional). The default units are bytes, append k,
|
|
M or G for kilobytes, megabytes or gigabytes respectively.
|
|
sharedscripts - A Boolean specifying whether logrotate should run the
|
|
postrotate and prerotate scripts for each matching file or
|
|
just once (optional).
|
|
shred - A Boolean specifying whether logs should be deleted with
|
|
shred instead of unlink (optional).
|
|
shredcycles - The Integer number of times shred should overwrite log files
|
|
before unlinking them (optional).
|
|
start - The Integer number to be used as the base for the extensions
|
|
appended to the rotated log files (optional).
|
|
su_owner - A username String that logrotate should use to rotate a
|
|
log file set instead of using the default if
|
|
su => true (optional).
|
|
su_group - A String group name that logrotate should use to rotate a
|
|
log file set instead of using the default if
|
|
su => true (optional).
|
|
uncompresscmd - The String command to be used to uncompress log files
|
|
(optional).
|
|
|
|
Examples
|
|
--------
|
|
|
|
Configure ``logrotate.conf``::
|
|
|
|
logrotate::conf { '/etc/logrotate.conf':
|
|
rotate => 10,
|
|
rotate_every => 'week',
|
|
ifempty => true,
|
|
dateext => true,
|
|
}
|
|
|
|
|
|
Rule for rotating ``messages``::
|
|
|
|
logrotate::rule { 'messages':
|
|
path => '/var/log/messages',
|
|
rotate => 5,
|
|
rotate_every => 'week',
|
|
postrotate => '/usr/bin/killall -HUP syslogd',
|
|
}
|
|
|
|
|
|
Rule for rotating ``slurmd`` client::
|
|
|
|
logrotate::rule { 'slurmd':
|
|
path => '/var/log/slurm/slurmd.log',
|
|
rotate => $rotate,
|
|
rotate_every => $rotate_every,
|
|
compress => true,
|
|
create => true,
|
|
create_mode => '0600',
|
|
create_owner => 'slurm',
|
|
create_group => 'slurm',
|
|
missingok => true,
|
|
ifempty => false,
|
|
sharedscripts => true,
|
|
postrotate => '/bin/systemctl reload slurmd.service > /dev/null 2>/dev/null || true';
|
|
}
|