2020-08-10 01:37:13 +02:00
|
|
|
[Unit]
|
|
|
|
Description=Start lvm backup using duplicity.
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
2021-10-05 16:49:34 +02:00
|
|
|
|
2021-10-06 00:00:30 +02:00
|
|
|
TimeoutSec=20h
|
2021-10-05 16:49:34 +02:00
|
|
|
|
|
|
|
# Creating snapshots
|
2023-10-14 00:18:16 +02:00
|
|
|
{% for item in lvm_self_backup_vols %}
|
2021-10-05 16:49:34 +02:00
|
|
|
ExecStartPre=/usr/sbin/lvcreate -L 1G -n {{ item.lv_name }}_snap -s {{ item.vg_name }}/{{ item.lv_name }}
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
# Mounting snapshots
|
2023-10-14 00:18:16 +02:00
|
|
|
{% for item in lvm_self_backup_vols %}
|
|
|
|
ExecStartPre=/usr/bin/mount -o ro,nosuid,noexec{% if item.fstype is defined and item.fstype == "xfs" %},nouuid{% endif %} -t {{ item.fstype | default("ext4") }} /dev/{{ item.vg_name }}/{{ item.lv_name }}_snap /lvm_self_backup_snapshots/{{ item.vg_name }}-{{ item.lv_name }}
|
2021-10-05 16:49:34 +02:00
|
|
|
{% endfor %}
|
|
|
|
|
2020-08-10 01:37:13 +02:00
|
|
|
ExecStart=/usr/local/bin/backup-lvm
|
2021-10-05 16:49:34 +02:00
|
|
|
|
|
|
|
# Make sure duplicity container is gone
|
|
|
|
ExecStopPost=/usr/bin/docker rm --force duplicity-backup-lvm
|
|
|
|
|
|
|
|
# Unmount snapshots
|
2023-10-14 00:18:16 +02:00
|
|
|
{% for item in lvm_self_backup_vols %}
|
2024-02-07 23:32:26 +01:00
|
|
|
ExecStopPost=/usr/bin/umount /dev/{{ item.vg_name }}/{{ item.lv_name }}_snap || true
|
2021-10-05 16:49:34 +02:00
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
# Remove snapshots
|
2023-10-14 00:18:16 +02:00
|
|
|
{% for item in lvm_self_backup_vols %}
|
2021-10-05 16:49:34 +02:00
|
|
|
ExecStopPost=/usr/sbin/lvremove -f {{ item.vg_name }}/{{ item.lv_name }}_snap
|
|
|
|
{% endfor %}
|
|
|
|
|