--- # 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 for odroid ansible.builtin.pause: minutes: 1 # - 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