* Before, doing `$ PREFIX=/usr/local make install` would install files to`/usr/local/usr/local..` which is wrong * With this PR, files will be installed to the expected location e.g. `/usr/local/etc/restic` * `Makefile` almost completely rewritten * As e.g. `default.env` would source `_global.env`, `default.env` must be edited to find the right location of `_global.env` depending on what `$PREFIX` was set to. * see documented build stages in the `Makefile` itself. * Made sure that the rules are correct so that only modifed files are installed, not all at once unnecessarily like before. * A sub-goal was that the [PKGBUILD](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=restic-systemd-automatic-backup#n20) for Arch should not need to do any custom install configuration, to keep everything easier to maintain. `$ make install` should work out of the box for Arch. * Additionally added the `-b` flag to `install(1)` that makes a backup of existing `etc/restic/*` files before installing a newer version. Fixes #49
14 lines
659 B
Desktop File
14 lines
659 B
Desktop File
[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 'sleep $(shuf -i 0-300 -n 1) && source $INSTALL_PREFIX/etc/restic/%I.env && $INSTALL_PREFIX/sbin/restic_backup.sh | systemd-cat'
|