78 lines
1.8 KiB
YAML
78 lines
1.8 KiB
YAML
|
- name: Ensure necessary directories exists
|
||
|
file:
|
||
|
path: "{{ item }}"
|
||
|
state: directory
|
||
|
loop:
|
||
|
- "{{ repository_path }}"
|
||
|
- "{{ dbdumps_path }}"
|
||
|
- "{{ autorestic_base }}"
|
||
|
|
||
|
- name: Download and install restic
|
||
|
apt:
|
||
|
name: restic
|
||
|
update_cache: yes
|
||
|
|
||
|
- name: Install bzip2
|
||
|
apt:
|
||
|
name: bzip2
|
||
|
update_cache: yes
|
||
|
no_log: true
|
||
|
|
||
|
- name: Download autorestic
|
||
|
get_url:
|
||
|
url: "https://github.com/cupcakearmy/autorestic/releases/download/v{{ autorestic_version }}/autorestic_{{ autorestic_version }}_linux_amd64.bz2"
|
||
|
dest: /tmp/autorestic.bz2
|
||
|
|
||
|
- name: Extract and install autorestic executable
|
||
|
shell: "bzcat /tmp/autorestic.bz2 > {{ autorestic_path }}"
|
||
|
|
||
|
- name: Ensure autorestic has executable bit
|
||
|
file:
|
||
|
path: "{{ autorestic_path }}"
|
||
|
mode: '0755'
|
||
|
|
||
|
- name: Copy configuration
|
||
|
template:
|
||
|
src: "autorestic.yml"
|
||
|
dest: "{{ autorestic_config_path }}"
|
||
|
|
||
|
- name: Copy scripts
|
||
|
template:
|
||
|
src: "{{ item }}"
|
||
|
dest: "{{ autorestic_base }}"
|
||
|
mode: 0755
|
||
|
loop:
|
||
|
- backup_db.sh
|
||
|
- start_backup.sh
|
||
|
|
||
|
- name: Ensure scripts are executable
|
||
|
file:
|
||
|
path: "{{ autorestic_base }}/{{ item }}"
|
||
|
mode: 0755
|
||
|
loop:
|
||
|
- backup_db.sh
|
||
|
- start_backup.sh
|
||
|
|
||
|
- name: Generate systemd timer and service
|
||
|
template:
|
||
|
src: "{{ item }}"
|
||
|
dest: "/etc/systemd/system"
|
||
|
loop:
|
||
|
- autorestic.service
|
||
|
- autorestic.timer
|
||
|
|
||
|
# Remove when PR #197 is merged
|
||
|
- name: Initialize Restic Rest repository
|
||
|
shell: "RESTIC_PASSWORD='{{ restic_password }}' restic -r {{ repository_path }} init"
|
||
|
failed_when: false
|
||
|
|
||
|
# Waiting for PR #197 to be merged
|
||
|
- name: Check configuration file is correct and create repositories if needed
|
||
|
shell: "autorestic -c {{ autorestic_config_path }} check"
|
||
|
|
||
|
- name: Ensure timer is activated
|
||
|
systemd:
|
||
|
name: autorestic.timer
|
||
|
enabled: true
|
||
|
state: started
|
||
|
daemon_reload: true
|