logrotate_app
This resource can be used to drop off customized logrotate config files on a per application basis.
The resource takes the following properties:
Properties
| Name | Type | Default | Description |
|---|---|---|---|
path | String, Array | nil | Specifies a single path (string) or multiple paths (array) that should have logrotation stanzas created in the config file. |
cookbook | String | logrotate | The cookbook that continues the template for logrotate_app config resources. |
template_name | String | logrotate | Sets the template source. |
template_mode | String | logrotate | The mode to create the logrotate template. |
template_owner | String | logrotate | The owner of the logrotate template. |
template_group | String | logrotate | The group of the logrotate template. |
frequency | String | logrotate | Sets the frequency for rotation. Valid values are: hourly, daily, weekly, monthly, yearly, see the logrotate man page for more information. |
options | String | logrotate | Any logrotate configuration option that doesn't specify a value. See the logrotate(8) manual page of v3.9.2 or earlier for details. |
Examples
In addition to the above properties, any logrotate option that takes a parameter can be used as a logrotate_app property. For example, to set the rotate option you can use a resource declaration such as:
logrotate_app 'tomcat-myapp' do
path '/var/log/tomcat/myapp.log'
frequency 'daily'
rotate 30
create '644 root adm'
endAlso, any logrotate option that takes one of scripts names (firstaction, prerotate, postrotate, and lastaction) can be used. Script body should be passed as value of this option. For example, nginx logrotation with postrotate:
logrotate_app 'nginx' do
path '/var/log/nginx/*.log'
frequency 'daily'
options %w(missingok compress delaycompress notifempty dateext dateyesterday nomail sharedscripts)
rotate 365
create '640 www-data www-data'
dateformat '.%Y-%m-%d'
maxage 365
postrotate '[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`'
endSee the logrotate(8) manual page of v3.9.2 or earlier for the list of available options.