67 lines
1.6 KiB
YAML
67 lines
1.6 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 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
|