From 8605fc4fd40f5d2067d9b81f41d5f523d9a5ba98 Mon Sep 17 00:00:00 2001 From: Watson Sato Date: Tue, 12 May 2020 08:17:20 +0200 Subject: [PATCH 1/2] Add Ansible for ensure_logrotate_activated --- .../ansible/shared.yml | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/ansible/shared.yml diff --git a/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/ansible/shared.yml b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/ansible/shared.yml new file mode 100644 index 0000000000..5d76b3c073 --- /dev/null +++ b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/ansible/shared.yml @@ -0,0 +1,33 @@ +# platform = multi_platform_all +# reboot = false +# strategy = configure +# complexity = low +# disruption = low + +- name: Configure daily log rotation in /etc/logrotate.conf + lineinfile: + create: yes + dest: "/etc/logrotate.conf" + regexp: "^daily$" + line: "daily" + +- name: Make sure daily log rotation setting is not overriden in /etc/logrotate.conf + lineinfile: + create: no + dest: "/etc/logrotate.conf" + regexp: "^(weekly|monthly|yearly)$" + state: absent + +- name: Configure cron.daily if not already + block: + - name: Add shebang + lineinfile: + path: "/etc/cron.daily/logrotate" + line: "#!/bin/sh" + insertbefore: BOF + create: yes + - name: Add logrotate call + lineinfile: + path: "/etc/cron.daily/logrotate" + line: '/usr/sbin/logrotate /etc/logrotate.conf' + regexp: '^[\s]*/usr/sbin/logrotate[\s\S]*/etc/logrotate.conf$' From 085e5b2d18c9f50a6486a50f964ff71b74d5dade Mon Sep 17 00:00:00 2001 From: Watson Sato Date: Tue, 12 May 2020 14:48:15 +0200 Subject: [PATCH 2/2] Add test for ensure_logrotate_activated Test scenario when monthly is there, but weekly is not. --- .../tests/logrotate_conf_extra_monthly.fail.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/tests/logrotate_conf_extra_monthly.fail.sh diff --git a/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/tests/logrotate_conf_extra_monthly.fail.sh b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/tests/logrotate_conf_extra_monthly.fail.sh new file mode 100644 index 0000000000..b10362989b --- /dev/null +++ b/linux_os/guide/system/logging/log_rotation/ensure_logrotate_activated/tests/logrotate_conf_extra_monthly.fail.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sed -i "s/weekly/daily/g" /etc/logrotate.conf +echo "monthly" >> /etc/logrotate.conf