Automating backup of user's home folder to a NAS share using systemd service and timer.
Runs in three steps: home-backup.timer
-> home-backup.service
-> home-backup.sh
.
- script could be used as a standalone application;
- backup is done only when connected to given WiFi network;
- Gnome notifications and Telegram message notification during backup.
home-backup.sh [--notify] PATH/SOURCE-DIR
--notify
... send desktop and Telegram notifications during backup
PATH
... absolute or relative path to a SOURCE-DIR
home-backup.sh /home/user/Documents/
home-backup.sh Documents/programming/
home-backup.sh --notify Downloads/fonts/
- Copy files to /home/your-user/bin
cp $(pwd)/home-backup.* ~/bin
- Install service and timer
In order to get access to user's DBUS and thus be able to show Gnome notifications, systemd service and timer must be installed within user environment.
cd ~/bin
ln -s $(pwd)/home-backup.service ~/.config/systemd/user/home-backup.service
ln -s $(pwd)/home-backup.timer ~/.config/systemd/user/home-backup.timer
- Reload systemd services:
sudo systemctl daemon-reload
- Start timer:
systemctl --user start home-backup.timer
- Examine the log:
systemctl --user status home-backup.timer
journalctl --user -u home-backup.timer
- Allow timer to be triggered after reboot:
systemctl --user enable home-backup.timer