12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- ---
- - name: Check if restic is installed
- stat:
- path: '{{ restic_path }}'
- register: restic_binary
- - include_tasks: install.yml
- when: not restic_binary.stat.exists or restic_install
- # TODO: check if exists?
- - name: Overwrite SSH config for backup server
- become: yes
- template:
- src: ssh_config.j2
- dest: '{{ restic_user_home }}/.ssh/config'
- owner: root
- group: root
- mode: '0600'
- when: restic_ssh_enabled
- - name: Add SSH private key
- become: yes
- template:
- src: ssh_private_key.j2
- dest: '{{ restic_ssh_private_key_path }}'
- mode: '0600'
- when: restic_ssh_private_key is defined and restic_ssh_enabled
- - name: Add restic_env in home folder
- become: yes
- template:
- src: restic_env.j2
- dest: '{{ restic_user_home }}/.restic_env'
- owner: root
- group: root
- mode: '0600'
- - name: Add systemd service for restic
- become: yes
- template:
- src: restic-backup.service.j2
- dest: /etc/systemd/system/restic-backup.service
- mode: '0644'
- vars:
- restic_folders_combined: '{{ restic_default_folders + restic_folders }}'
- notify: systemd reload
- - name: Add systemd timer for restic
- become: yes
- template:
- src: restic-backup.timer.j2
- dest: /etc/systemd/system/restic-backup.timer
- mode: '0644'
- notify: systemd reload
- - name: Enable and start restic timer
- become: yes
- systemd:
- name: restic-backup.timer
- enabled: true
- state: started
- - name: Initialize restic repo if needed
- become: yes
- command: "{{restic_path}} init"
- environment:
- RESTIC_REPOSITORY: "sftp:{{ restic_ssh_host }}:{{ restic_repository_name }}"
- RESTIC_PASSWORD: "{{restic_password}}"
- no_log: true
- register: restic_init
- changed_when: "'created restic repository' in restic_init.stdout"
- failed_when:
- - restic_init.rc != 0
- - not 'config file already exists' in restic_init.stderr
- - not 'config already initialized' in restic_init.stderr
- - not 'config already exists' in restic_init.stderr
|