logrotate
logrotate::config
: logrotate configlogrotate::defaults
: apply defaultslogrotate::hourly
: Internal: Configure a host for hourly logrotate jobs. ensure - The desired state of hourly logrotate support. Valid values are 'ablogrotate::install
: make sure logrotate is installedlogrotate::params
: == Class: logrotate::params Params class for logrotate modulelogrotate::rules
: apply user-defined rules
logrotate::conf
: Internal: Install and configure logrotate defaults file, usually /etc/logrotate.conf see logrotate::Conf for description of options. Examlogrotate::cron
logrotate::rule
: Public: Configure logrotate to rotate a logfile. namevar - The String name of the rule. path - The path String to the log
The logrotate class.
The following parameters are available in the logrotate
class:
ensure
hieramerge
manage_cron_daily
manage_cron_hourly
ensure_cron_daily
ensure_cron_hourly
manage_systemd_timer
ensure_systemd_timer
create_base_rules
purge_configdir
package
rules
config
cron_daily_hour
cron_daily_minute
cron_hourly_minute
cron_file_mode
configdir
logrotate_bin
logrotate_conf
logrotate_conf_mode
manage_package
rules_configdir
rules_configdir_mode
root_user
root_group
logrotate_args
cron_always_output
Data type: String
Default value: present
Data type: Boolean
Default value: false
Data type: Boolean
Default value: true
Data type: Boolean
Default value: true
Data type: Enum[present,absent]
Default value: 'present'
Data type: Enum[present,absent]
Default value: 'present'
Data type: Boolean
Default value: false
Data type: Enum[present,absent]
Default value: 'absent'
Data type: Boolean
Default value: true
Data type: Boolean
Default value: false
Data type: String
Default value: 'logrotate'
Data type: Hash
Default value: {}
Data type: Optional[Hash]
Default value: undef
Data type: Integer[0,23]
Default value: $logrotate::params::cron_daily_hour
Data type: Integer[0,59]
Default value: $logrotate::params::cron_daily_minute
Data type: Integer[0,59]
Default value: $logrotate::params::cron_hourly_minute
Data type: Stdlib::Filemode
Default value: $logrotate::params::cron_file_mode
Data type: String
Default value: $logrotate::params::configdir
Data type: String
Default value: $logrotate::params::logrotate_bin
Data type: String
Default value: $logrotate::params::logrotate_conf
Data type: Stdlib::Filemode
Default value: $logrotate::params::logrotate_conf_mode
Data type: Boolean
Default value: $logrotate::params::manage_package
Data type: String
Default value: $logrotate::params::rules_configdir
Data type: Stdlib::Filemode
Default value: $logrotate::params::rules_configdir_mode
Data type: String
Default value: $logrotate::params::root_user
Data type: String
Default value: $logrotate::params::root_group
Data type: Array[String[1]]
Default value: []
Data type: Boolean
Default value: false
logrotate config
apply defaults
The following parameters are available in the logrotate::defaults
class:
Data type: Any
Default value: $logrotate::create_base_rules
Data type: Any
Default value: $logrotate::params::base_rules
Data type: Any
Default value: $logrotate::params::rule_default
Internal: Configure a host for hourly logrotate jobs.
ensure - The desired state of hourly logrotate support. Valid values are 'absent' and 'present' (default: 'present').
Examples
class { 'logrotate': manage_cron_hourly => true, }
class { 'logrotate': manage_cron_hourly => true, ensure_cron_hourly => absent, }
make sure logrotate is installed
== Class: logrotate::params
Params class for logrotate module
apply user-defined rules
The following parameters are available in the logrotate::rules
class:
Data type: Any
Default value: $logrotate::rules
Internal: Install and configure logrotate defaults file, usually /etc/logrotate.conf
see logrotate::Conf for description of options.
Examples
logrotate::conf{'/etc/logrotate.conf':}
The following parameters are available in the logrotate::conf
defined type:
path
ensure
compress
compresscmd
compressext
compressoptions
copy
copytruncate
create
create_mode
create_owner
create_group
dateext
dateformat
dateyesterday
delaycompress
extension
ifempty
mail
mail_when
maxage
minsize
maxsize
missingok
olddir
postrotate
prerotate
firstaction
lastaction
rotate
rotate_every
size
sharedscripts
shred
shredcycles
start
su
su_user
su_group
uncompresscmd
Data type: Stdlib::Unixpath
Default value: $name
Data type: Enum['absent','present']
Default value: 'present'
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Boolean
Default value: true
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Variant[String,Boolean]]
Default value: undef
Data type: Optional[Enum['mailfirst', 'maillast']]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Logrotate::Size]
Default value: undef
Data type: Optional[Logrotate::Size]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Variant[Boolean,String]]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Integer
Default value: 4
Data type: Logrotate::Every
Default value: 'weekly'
Data type: Optional[Logrotate::Size]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Boolean
Default value: false
Data type: String
Default value: 'root'
Data type: String
Default value: 'root'
Data type: Optional[String]
Default value: undef
The logrotate::cron class.
The following parameters are available in the logrotate::cron
defined type:
Data type: Any
Default value: 'present'
Public: Configure logrotate to rotate a logfile.
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 or an Array of Strings that should be
executed by /bin/sh after the log file is rotated
optional).
prerotate - A command String or an Array of Strings 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 or an Array of Strings that should be
executed by /bin/sh once before all log files that match
the wildcard pattern are rotated (optional).
lastaction - A command String or an Array of Strings that should be
executed 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 'day', 'week', 'month' and 'year'
(optional).
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 - A Boolean specifying whether logrotate should rotate under
the specific su_user and su_group instead of the default.
First available in logrotate 3.8.0.
su_user - A String username 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).
custom_cfg - Array of custom lines to be appended to the rules
Examples
logrotate::rule { 'messages': path => '/var/log/messages', copytruncate => true, missingok => true, rotate_every => 'day', rotate => 7, compress => true, ifempty => true, }
logrotate::rule { 'nginx_access_log': path => '/var/log/nginx/access_log', missingok => true, rotate_every => 'week', rotate => 3, postrotate => '/etc/init.d/nginx restart', }
The following parameters are available in the logrotate::rule
defined type:
rulename
ensure
custom_cfg
path
compress
compresscmd
compressext
compressoptions
copy
copytruncate
create
create_mode
create_owner
create_group
dateext
dateformat
dateyesterday
delaycompress
extension
ifempty
mail
mail_when
maxage
minsize
maxsize
missingok
olddir
postrotate
prerotate
firstaction
lastaction
rotate
rotate_every
size
sharedscripts
shred
shredcycles
start
su
su_user
su_group
uncompresscmd
Data type: Pattern[/^[a-zA-Z0-9\._-]+$/]
Default value: $title
Data type: Enum['present','absent']
Default value: 'present'
Data type: Array[String[1]]
Default value: []
Data type: Optional[Logrotate::Path]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Variant[String,Boolean]]
Default value: undef
Data type: Optional[Enum['mailfirst','maillast']]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Logrotate::Size]
Default value: undef
Data type: Optional[Logrotate::Size]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Variant[Boolean,String]]
Default value: undef
Data type: Optional[Logrotate::Commands]
Default value: undef
Data type: Optional[Logrotate::Commands]
Default value: undef
Data type: Optional[Logrotate::Commands]
Default value: undef
Data type: Optional[Logrotate::Commands]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Logrotate::Every]
Default value: undef
Data type: Optional[Logrotate::Size]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Boolean
Default value: false
Data type: String
Default value: 'root'
Data type: String
Default value: 'root'
Data type: Optional[String]
Default value: undef
The Logrotate::Commands data type.
Alias of Variant[String, Array[String]]
The Logrotate::Every data type.
Alias of Pattern['^hour(|ly)$', '^da(|il)y$', '^week(|ly)$', '^month(|ly)$', '^year(|ly)$']
The Logrotate::Path data type.
Alias of Variant[Stdlib::UnixPath, Array[Stdlib::UnixPath]]
The Logrotate::Size data type.
Alias of Variant[Integer, Pattern[/^\d+[kMG]?$/]]