From 7e65ffbeba078e1a5942d833704d47f7df2e0767 Mon Sep 17 00:00:00 2001 From: Colin Nolan Date: Fri, 18 May 2018 09:53:34 +0100 Subject: [PATCH] Support running hourly logrotates. --- defaults/main.yml | 3 +++ tasks/main.yml | 14 ++++++++++++++ vars/main.yml | 4 ++++ 3 files changed, 21 insertions(+) create mode 100644 vars/main.yml 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