diff --git a/logrotate/templates/logrotate.conf.tmpl b/logrotate/templates/logrotate.conf.tmpl index 865e04c..db62268 100644 --- a/logrotate/templates/logrotate.conf.tmpl +++ b/logrotate/templates/logrotate.conf.tmpl @@ -23,7 +23,7 @@ no{{ parameter }} # See "man logrotate" for details. # log files rotation period -{% for period in ['hourly', 'daily', 'weekly', 'yearly'] -%} +{% for period in ['hourly', 'daily', 'weekly', 'monthly', 'yearly'] -%} {{ set_parameter(period) }} {%- endfor %} diff --git a/pillar.example b/pillar.example index ca4fcb7..b86337f 100644 --- a/pillar.example +++ b/pillar.example @@ -35,6 +35,18 @@ logrotate: - notifempty - create 640 root adm - sharedscripts + a_monthly_job: + path: + - /tmp/var/log/a_service/*.log + config: + - monthly + - missingok + - rotate 12 + - compress + - delaycompress + - notifempty + - create 640 root adm + - sharedscripts syslog: path: - /var/log/cron diff --git a/test/integration/default/controls/jobs.rb b/test/integration/default/controls/jobs.rb index a2d94e4..46cc91a 100644 --- a/test/integration/default/controls/jobs.rb +++ b/test/integration/default/controls/jobs.rb @@ -88,3 +88,19 @@ describe file('/etc/logrotate.hourly.d/nginx_high_traf') do its('content') { should include 'postrotate' } its('content') { should include 'kill -USR1 $(cat /var/run/nginx_high_traf.pid)' } end + +describe file('/etc/logrotate.d/a_monthly_job') do + it { should be_file } + it { should be_owned_by 'root' } + it { should be_grouped_into 'root' } + its('mode') { should cmp '0644' } + its('content') { should include '/var/log/a_service/*.log' } + its('content') { should include 'monthly' } + its('content') { should include 'missingok' } + its('content') { should include 'rotate 12' } + its('content') { should include 'compress' } + its('content') { should include 'delaycompress' } + its('content') { should include 'notifempty' } + its('content') { should include 'create 640 root adm' } + its('content') { should include 'sharedscripts' } +end