Skip to content

Commit

Permalink
Merge pull request #94 from borland502/borland502-old-schedule-assert…
Browse files Browse the repository at this point in the history
…-patch

Fix play summary taint in legacy cron entry assertion for ansible past 2.12
  • Loading branch information
DO1JLR authored Mar 22, 2023
2 parents e825ef2 + ba17cc6 commit 1d7ba78
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions tasks/delete_legacy_cron_entry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
fail_msg: "[ERROR] Youre ansible version is above 2.12.0"
success_msg: "Congratulations. You are using ansible version {{ ansible_version.full }}"
delegate_to: localhost
when:
- ansible_service_mgr != 'systemd' or restic_force_cron | default(false) or restic_schedule_type == "cronjob"
register: old_af
failed_when: false
ignore_errors: true

- name: (SCHEDULE) (OLD) try to remove entries from /etc/crontab
become: true
Expand All @@ -17,32 +22,32 @@
weekday: '{{ item.schedule_weekday | default("*") }}'
month: '{{ item.schedule_month | default("*") }}'
state: absent
cron_file: '/etc/crontab'
user: 'root'
cron_file: "/etc/crontab"
user: "root"
no_log: "{{ restic_no_log }}"
with_items: '{{ restic_backups }}'
with_items: "{{ restic_backups }}"
when:
- restic_create_schedule | bool
- item.name is defined
- item.scheduled | default(false)
- ansible_service_mgr != 'systemd' or restic_force_cron | default(false) or restic_schedule_type == "cronjob"
- old_af.success_msg is defined
register: cron_delete
failed_when: false

- name: "(SCHEDULE) (OLD) make sure do1jlr.restic backup script is not in /etc/crontab"
become: true
ansible.builtin.lineinfile:
path: '/etc/crontab'
path: "/etc/crontab"
state: absent
search_string: "do1jlr.restic backup {{ item.name }}"
when: cron_delete.failed
with_items: '{{ restic_backups }}'
when: cron_delete.failed is defined and cron_delete.failed
with_items: "{{ restic_backups }}"

- name: "(SCHEDULE) (OLD) make sure restic script is not in /etc/crontab"
become: true
ansible.builtin.lineinfile:
path: '/etc/crontab'
path: "/etc/crontab"
state: absent
search_string: "{{ restic_script_dir }}/backup-{{ item.name | replace(' ', '') }}.sh"
when: cron_delete.failed
with_items: '{{ restic_backups }}'
when: cron_delete.failed is defined and cron_delete.failed
with_items: "{{ restic_backups }}"

0 comments on commit 1d7ba78

Please sign in to comment.