[Unit] Description=Backup with restic to Backblaze B2 OnFailure=status-email-user@%n.service Requires=nm-unmetered-connection.service [Service] Type=simple Nice=10 # $HOME or $XDG_CACHE_HOME must be set for restic to find /root/.cache/restic/ Environment="HOME=/root" # The random sleep (in seconds) is in the case of multiple backup profiles. Many restic instances started at the same time could case high load or network bandwith usage. # `systemd-cat` allows showing the restic output to the systemd journal ExecStart=bash -c 'ps cax | grep -q restic && sleep $(shuf -i 0-300 -n 1); source $INSTALL_PREFIX/etc/restic/%I.env.sh && $INSTALL_PREFIX/bin/restic_backup.sh | systemd-cat'