diff --git a/defaults/main.yml b/defaults/main.yml index bfe0981..c6a92f7 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,2 +1,5 @@ +--- + logrotate_conf_dir: "/etc/logrotate.d/" logrotate_scripts: [] +logrotate_support_hourly_rotates: true diff --git a/tasks/main.yml b/tasks/main.yml index bc7c02c..5786539 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,10 +1,24 @@ --- + - name: nickhammond.logrotate | Install logrotate package: name: logrotate state: present when: logrotate_scripts is defined and logrotate_scripts|length > 0 +- name: Check for logrotate daily cron entry + stat: + path: "{{ logrotate_cron_daily_location }}" + register: daily_cron_entry + when: logrotate_support_hourly_rotates + +- name: Move logrotate cron entry from daily to hourly + command: "mv '{{ logrotate_cron_daily_location }}' '{{ logrotate_cron_hourly_location }}'" + args: + creates: "{{ logrotate_cron_hourly_location }}" + removes: "{{ logrotate_cron_daily_location }}" + when: logrotate_support_hourly_rotates and daily_cron_entry.stat.exists + - name: nickhammond.logrotate | Setup logrotate.d scripts template: src: logrotate.d.j2 diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..2eb8dc3 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,4 @@ +--- + +logrotate_cron_hourly_location: /etc/cron.hourly/logrotate +logrotate_cron_daily_location: /etc/cron.daily/logrotate