mirror of
https://github.com/fscotto/infra.git
synced 2026-09-27 19:03:47 +00:00
42 lines
1.2 KiB
Django/Jinja
42 lines
1.2 KiB
Django/Jinja
[Unit]
|
|
Description=Back up Atlas ZFS datasets to the encrypted Borg repository
|
|
Documentation=man:borg-create(1) man:borg-prune(1) man:borg-compact(1)
|
|
Requires=zfs.target
|
|
Wants=network-online.target
|
|
After=zfs.target network-online.target
|
|
StartLimitIntervalSec=6h
|
|
StartLimitBurst=3
|
|
ConditionFileIsExecutable=/usr/local/sbin/atlas-borg-backup
|
|
ConditionPathExists={{ atlas_borg_passphrase_path }}
|
|
ConditionPathExists={{ atlas_borg_ssh_private_key_path }}
|
|
ConditionPathExists={{ atlas_borg_known_hosts_path }}
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/local/sbin/atlas-borg-backup
|
|
ExecStopPost=+/usr/local/sbin/atlas-borg-snapshot-cleanup
|
|
User=root
|
|
Group=root
|
|
UMask=0077
|
|
SuccessExitStatus=1
|
|
Restart=on-failure
|
|
RestartSec=30m
|
|
TimeoutStartSec=infinity
|
|
RuntimeDirectory=atlas-borg
|
|
RuntimeDirectoryMode=0750
|
|
Nice=15
|
|
IOSchedulingClass=best-effort
|
|
IOSchedulingPriority=7
|
|
NoNewPrivileges=true
|
|
PrivateMounts=true
|
|
PrivateTmp=true
|
|
ProtectHome=true
|
|
ProtectSystem=strict
|
|
ReadWritePaths={{ atlas_borg_cache_dir }} {{ atlas_borg_config_dir }} /run/atlas-borg /run/lock
|
|
ProtectKernelTunables=true
|
|
ProtectKernelModules=true
|
|
ProtectControlGroups=true
|
|
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|
|
RestrictRealtime=true
|
|
LockPersonality=true
|