2023-07-05 11:47:57 +02:00
|
|
|
{{ file_header | default () }}
|
|
|
|
|
|
|
|
[Unit]
|
|
|
|
Description=Send zfs snapshots with sanoid/syncoid.
|
|
|
|
OnFailure=syncoid_mail.service
|
2023-08-04 17:33:42 +02:00
|
|
|
OnSuccess=syncoid_mail.service
|
2023-07-05 11:47:57 +02:00
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
|
|
|
# check if dest-dataset is mounted (sed: entferne 1. Zeile; awk: zeige nur yes/no; grep: RC1 when != yes)
|
|
|
|
{% for item in sanoid_syncoid_datasets_sync %}
|
2024-04-29 22:12:49 +02:00
|
|
|
# print dataset
|
|
|
|
ExecStart=/bin/sh -c 'echo "{{ item.source_dataset }}"'
|
2023-07-05 12:54:43 +02:00
|
|
|
# check if target dataset is mounted
|
|
|
|
ExecStart=/bin/sh -c '/usr/sbin/zfs get mounted {{ item.destination_mount_check }} | sed 1d | awk "{print $3}" | grep yes > /dev/null'
|
|
|
|
# check if source host is reachable
|
|
|
|
ExecStart=/bin/sh -c 'ping -c1 -W1 {{ item.source_host }} > /dev/null || {{ item.source_host }} not reachable!'
|
2023-07-05 11:47:57 +02:00
|
|
|
# syncoid
|
2023-07-05 18:47:50 +02:00
|
|
|
ExecStart=/bin/sh -c 'export HOME=/root ; /usr/bin/syncoid --sshoption=StrictHostKeyChecking=no --delete-target-snapshots --use-hold --preserve-recordsize --sshkey "/etc/sanoid/.ssh/id_sanoid" --source-bwlimit {{ sanoid_syncoid_bwlimit }} {{ sanoid_user }}@{{ item.source_host }}:{{ item.source_dataset }} {{ item.destination_dataset }}'
|
2023-07-05 11:47:57 +02:00
|
|
|
{% endfor %}
|