Files
ansible/nas.yaml

63 lines
1.5 KiB
YAML

---
# This playbook creates a backup of minisforum and writes it to odroid.
# Must be run on minisforum
- name: Backup minisforum to odroid
hosts: all
vars:
directories:
- docker
- media
- nextcloud
- sftp
- strato-production
gather_facts: true
tasks:
- name: Include variables
include_vars: vars/semaphore-token.yaml
- name: Wakeup odroid
community.general.wakeonlan:
mac: '00:1E:06:45:4C:45'
- name: Wait odroid is responding
ansible.builtin.wait_for:
host: 192.168.178.56
port: 2049
- name: Mount odroid storage
ansible.posix.mount:
src: 192.168.178.56:/media/backup
path: /media/odroid
state: mounted
fstype: nfs
become: true
- name: Check backup directory exists
ansible.builtin.file:
path: /media/odroid/minisforum
state: directory
mode: '0755'
- name: Check file path for storage directories exists
ansible.builtin.file:
path: /media/odroid/minisforum/{{ item }}
state: directory
mode: '0755'
loop: "{{ directories }}"
- name: Backup minisforum directories
ansible.builtin.shell: rsync -a --delete /media/backup/{{ item }}/ /media/odroid/minisforum/{{ item }}/
loop: "{{ directories }}"
- name: Unmount the volume
ansible.posix.mount:
path: /media/odroid
state: unmounted
become: true
- name: Include the run next playbook
import_playbook: run-next.yaml
vars:
to_do: shutdown