This repository has been archived on 2021-11-15. You can view files and clone it, but cannot push or open issues or pull requests.
restic/tasks/main.yml

71 lines
1.7 KiB
YAML

- name: "Try to update restic"
command: "restic self-update"
register: restic_update
ignore_errors: true
- name: "Download restic"
get_url:
url: "{{ restic_url }}"
dest: /tmp/restic.bz2
register: restic_download
when: restic_update is failed
- name: "Extract restic"
command: "bzip2 -df /tmp/restic.bz2"
register: restic_extract
when: restic_download is changed
- name: "Install restic"
copy:
src: "/tmp/restic"
dest: "/usr/bin/restic"
remote_src: yes
mode: "751"
when: restic_extract is changed
- name: "Copy the docker backup script"
blockinfile:
path: "/home/ansible/backup-to-restic"
mode: 0755
owner: "ansible"
group: "ansible"
create: yes
block: |
#!/bin/bash
export RESTIC_REPOSITORY=sftp:borg@10.7.89.117:restic
export RESTIC_PASSWORD={{ restic_password }}
cd {{ docker_project_path }}
sudo docker-compose pause
sudo -E restic backup /home/ansible --exclude-file=/etc/restic/excludes.txt
sudo docker-compose unpause
when:
- "'docker' in group_names"
- docker_project_name is defined
- name: "Copy the backup script"
blockinfile:
path: "/home/andreas/backup-to-restic"
mode: 0755
owner: "andreas"
group: "andreas"
create: yes
block: |
#!/bin/bash
export RESTIC_REPOSITORY=sftp:borg@10.7.89.117:restic
export RESTIC_PASSWORD={{ restic_password }}
restic backup /home/andreas --exclude-file=/etc/restic/excludes.txt
when: docker_project_name is undefined
- name: "Create the restic config dir"
file:
path: "/etc/restic/"
state: directory
mode: "0755"
- name: "Copy excludes file"
copy:
src: "excludes.txt"
dest: "/etc/restic/excludes.txt"