ansible-role-borg-backup/tasks/05_create_timer.yml
Frank Dornheim 8b67e74440 Role restructured:
- if needed creation of a service user incl. creation of the ssh-key,
  - add the ssh key to authorized_keys,
  - auto init of the repos,
  - creation and start of systemd timer and services and
  - installation of the Docker helperscript.
2023-03-05 13:52:02 +01:00

90 lines
3.4 KiB
YAML

---
- name: Create borgbackup timer
when:
- install_backup is not defined or install_backup
tags:
- install_backup
block:
- name: Add systemd.timer for borgmatic (large repo, create and check separate)
when: borgmatic_large_repo
block:
- name: Copy systemd files
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: root
group: root
backup: true
mode: "{{ item.mode }}"
with_items:
- { src: "backup_large_repo_check.timer.j2", dest: "/usr/lib/systemd/system/backup_large_repo_check.timer", mode: "0644" }
- { src: "backup_large_repo_check.service.j2", dest: "/usr/lib/systemd/system/backup_large_repo_check.service", mode: "0644" }
- { src: "backup_large_repo.timer.j2", dest: "/usr/lib/systemd/system/backup_large_repo.timer", mode: "0644" }
- { src: "backup_large_repo.service.j2", dest: "/usr/lib/systemd/system/backup_large_repo.service", mode: "0644" }
- name: Populate service facts (large repo, create and check separate)
ansible.builtin.service_facts:
- name: Restart borgmatic services (large repo, create and check separate)
ansible.builtin.systemd:
name: "{{ item }}"
state: restarted
enabled: true
masked: false
daemon_reload: true
when: "item in services"
with_items:
- "backup_large_repo_check.service"
- "backup_large_repo.service"
# bug: Need own section without masked else the timer are skipped
- name: Restart borgmatic timers (large repo, create and check separate)
ansible.builtin.systemd:
name: "{{ item }}"
state: started
enabled: true
daemon_reload: true
with_items:
- "backup_large_repo_check.timer"
- "backup_large_repo.timer"
- name: Add systemd.timer for borgmatic (normal-sized repo)
when: not borgmatic_large_repo
block:
- name: Copy systemd files (normal-sized repo)
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: root
group: root
backup: true
mode: "{{ item.mode }}"
with_items:
- { src: "backup_normal_repo.timer.j2", dest: "/usr/lib/systemd/system/backup_normal_repo.timer", mode: "0644" }
- { src: "backup_normal_repo.service.j2", dest: "/usr/lib/systemd/system/backup_normal_repo.service", mode: "0644" }
- name: Populate service facts
ansible.builtin.service_facts:
- name: Restart borgmatic services (normal-sized repo)
ansible.builtin.systemd:
name: "{{ item }}"
state: started
enabled: true
masked: false
daemon_reload: true
when: "item in services"
with_items:
- backup_normal_repo.service
# bug: Need own section without masked else the timer ar skipped
- name: Restart borgmatic timers (normal-sized repo)
ansible.builtin.systemd:
name: "{{ item }}"
state: started
enabled: true
daemon_reload: true
with_items:
- "backup_normal_repo.timer"
...