1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_restic_archiver.git synced 2024-08-16 10:09:49 +02:00
ansible_role_restic_archiver/tasks/distribution/Linux.yml

57 lines
1.8 KiB
YAML
Raw Normal View History

2019-08-14 16:02:02 +02:00
---
# tasks file for skeleton
- name: reformat dict if necessary
2022-03-27 22:41:36 +02:00
ansible.builtin.set_fact:
restic_archiver__backups: "{{ restic_archiver__backups|dict2items|json_query('[*].value') }}"
when:
- restic_archiver__backups | type_debug == "dict"
2019-09-11 11:32:07 +02:00
- name: Create backup credentials
2022-03-27 22:41:36 +02:00
ansible.builtin.template:
2019-09-11 11:32:07 +02:00
src: restic_access_Linux.j2
dest: '{{ restic_script_dir }}/access-{{ item.name }}.sh'
mode: '0700'
owner: '{{ restic_dir_owner }}'
group: '{{ restic_dir_group }}'
no_log: true
with_items: '{{ restic_archiver__backups }}'
2019-09-11 11:32:07 +02:00
when:
- item.name is defined
- item.src is defined or item.stdin is defined
- item.src is defined or item.stdin and item.stdin_cmd is defined
- item.repo in restic_repos
2019-08-14 16:02:02 +02:00
- name: Create backup script
2022-03-27 22:41:36 +02:00
ansible.builtin.template:
2019-08-14 16:03:03 +02:00
src: restic_script_Linux.j2
2019-08-14 16:02:02 +02:00
dest: '{{ restic_script_dir }}/backup-{{ item.name }}.sh'
mode: '0700'
owner: '{{ restic_dir_owner }}'
group: '{{ restic_dir_group }}'
2019-08-14 16:59:32 +02:00
no_log: true
with_items: '{{ restic_archiver__backups }}'
2019-08-14 16:02:02 +02:00
when:
- item.name is defined
2019-08-15 08:36:57 +02:00
- item.src is defined or item.stdin is defined
2019-08-15 10:00:45 +02:00
- item.src is defined or item.stdin and item.stdin_cmd is defined
2019-08-14 16:59:32 +02:00
- item.repo in restic_repos
2019-08-15 14:47:55 +02:00
- name: Setup CRON jobs
2022-03-27 22:41:36 +02:00
ansible.builtin.cron:
name: 'do1jlr.restic_archiver {{ item.name }}'
2019-08-15 14:47:55 +02:00
job: 'CRON=true {{ restic_script_dir }}/backup-{{ item.name }}.sh'
2020-04-06 15:33:07 +02:00
minute: '{{ item.schedule_minute | default("*") }}'
hour: '{{ item.schedule_hour | default("*") }}'
weekday: '{{ item.schedule_weekday | default("*") }}'
month: '{{ item.schedule_month | default("*") }}'
cron_file: '/etc/crontab'
2019-08-15 14:47:55 +02:00
state: present
2019-08-15 14:51:42 +02:00
become: true
2019-08-15 14:52:43 +02:00
no_log: true
with_items: '{{ restic_archiver__backups }}'
2019-08-15 14:47:55 +02:00
when:
- restic_create_cron
- item.name is defined
2020-06-02 14:09:43 +02:00
- item.scheduled | default(false)