aboutsummaryrefslogtreecommitdiffstats
path: root/tasks/client_create_scripts_each.yml
blob: dcf379ffae7b096c2ec6b91326da934d2371e183 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
---
- name: Create script for automatic borg backup
  ansible.builtin.file:
    dest: '{{ script_location }}'
    state: touch
    owner: root
    group: root
    modification_time: preserve
    access_time: preserve
    mode: '0711'
  become: true

- name: Insert shebang into backup script
  ansible.builtin.lineinfile:
    path: '{{ script_location }}'
    line: '#!/bin/bash'
    insertbefore: BOF
    state: present
  become: true

- name: Insert Backup job block into scripts
  ansible.builtin.blockinfile:
    path: '{{ script_location }}'
    marker: '## {mark} ANSIBLE MANAGED BLOCK for server: {{ borg_server_host_url }}'
    block: |
      export BORG_PASSPHRASE={{ borg_passphrase }}
      borg create -C {{ borg_compression }} \
      borg@{{ borg_server_host_url }}:{{ borg_server_user_home }}/{{ borg_repo_name }}::{{ borg_backup_name_format }} \
      {{ borg_included_dirs | map('quote') | join(' ') }} \
      {% for e in (borg_excluded_dirs | map('quote')) %} --exclude {{ e }} {% endfor %}
  become: true