No description
Find a file
2026-01-30 14:14:59 -07:00
collections Fixing missing module 2026-01-19 13:46:01 -07:00
roles fix: Swap method of ssh host key check for compatibility 2026-01-30 14:14:59 -07:00
.gitignore Initial commit 2026-01-19 13:40:22 -07:00
hosts.yml Initial commit 2026-01-19 13:40:22 -07:00
LICENSE Initial commit 2026-01-19 13:40:22 -07:00
README.md Initial commit 2026-01-19 13:40:22 -07:00
site.yml Initial commit 2026-01-19 13:40:22 -07:00
syncoidClient_configure.yml Initial commit 2026-01-19 13:40:22 -07:00
syncoidClient_facts.yml Initial commit 2026-01-19 13:40:22 -07:00
syncoidClient_install.yml Initial commit 2026-01-19 13:40:22 -07:00
syncoidServer_facts.yml Initial commit 2026-01-19 13:40:22 -07:00
syncoidServer_setup.yml Initial commit 2026-01-19 13:40:22 -07:00

Ansible-Syncoid

Ansible playbook that provisions a set of servers to run a syncoid service. The configuration/services layout allow a given server to backup multiple sources to multiple destination servers.

Example

Execute playbook with needed variables to setup a server to use ZFS.

ansible-playbook -i hosts site.yml

---
# file: hosts.yml

syncoidServer:
  hosts:
    backupServer1:
      ansible_user: ansible
      ansible_host: 10.1.1.14
      syncoidZfsBackupDatasets:
      - "rpool/remoteBackups"
      - "rpool/remoteBackup2"

syncoidClient:
  hosts:
    clientServer1:
      ansible_host: 10.1.1.98
      syncoidZfsDatasets:
        - src: "rpool/remoteBackups/clientServer3"
          dest: "rpool/remoteBackups/clientServer1/clientServer3"
          dest_full: "clientServer1@10.1.1.14:rpool/remoteBackups/clientServer1/clientServer3" # override of auto-generated backup destination for syncoid
          dest_server: "backupServer1"
          recursive: true
          skip_parent: true
    clientServer2:
      ansible_host: 10.1.1.101
      syncoidZfsDatasets:
        - src: "rpool"
          dest: "rpool/remoteBackup2"
          dest_server: "backupServer1"
          recursive: true
          skip_parent: true
    clientServer3:
      ansible_host: 10.1.1.102
      syncoidZfsDatasets:
        - src: "rpool"
          dest: "rpool/remoteBackups"
          dest_server: 'backupServer1'
          recursive: true
          skip_parent: true
        - src: "rpool"
          dest: "rpool/remoteBackups"
          dest_server: 'clientServer1'
          recursive: true
          skip_parent: true

  vars:
    ansible_user: ansible
    syncoidTimerCalendar: "*:0/30"
    syncoidTimerRandomDelay: "1min"