27da11972d
By default, restic determines the location of the cache based on the XDG base dir specification, which is `~/.cache/restic` when the environment variable `$XDG_CACHE_HOME` isn't set. As restic is executed as root by default, this resulted in the cache being written to `/root/.cache/restic`, which is not quite right for a system service and also meant, multiple backup services would use the same cache directory - potentially causing issues with locking, data corruption, etc. The goal was to ensure, restic uses the correct cache location for a system service - one cache per backup specification, using `/var/cache` as the base directory for it. systemd sets the environment variable `$CACHE_DIRECTORY` once `CacheDirectory=` is defined, but restic doesn't change its behavior based on the presence of this environment variable. Instead, the specifier [1] `%C` can be used to point restic explicitly towards the correct cache location using the `--cache-dir` argument. Furthermore, the `CacheDirectoryMode=` was set to `0700`, as the default of `0755` is far too open in this case, as the cache might contain sensitive data. [1] https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Specifiers |
||
---|---|---|
.. | ||
automysqlbackup.nix | ||
bacula.nix | ||
borgbackup.nix | ||
borgbackup.xml | ||
duplicati.nix | ||
duplicity.nix | ||
mysql-backup.nix | ||
postgresql-backup.nix | ||
postgresql-wal-receiver.nix | ||
restic-rest-server.nix | ||
restic.nix | ||
rsnapshot.nix | ||
sanoid.nix | ||
syncoid.nix | ||
tarsnap.nix | ||
tsm.nix | ||
zfs-replication.nix | ||
znapzend.nix |