/home-backup

Home backup with bells and whistles

Primary LanguageShell

Home backup with bells and whistles

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.

home-backup.sh script features:

  • 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.

Standalone script usage:

home-backup.sh [--notify] PATH/SOURCE-DIR

Options:

--notify ... send desktop and Telegram notifications during backup

Where:

PATH ... absolute or relative path to a SOURCE-DIR

Examples:

home-backup.sh /home/user/Documents/
home-backup.sh Documents/programming/
home-backup.sh --notify Downloads/fonts/

Installation

  1. Copy files to /home/your-user/bin
cp $(pwd)/home-backup.* ~/bin
  1. 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
  1. Reload systemd services:
sudo systemctl daemon-reload
  1. Start timer:
systemctl --user start home-backup.timer
  1. Examine the log:
systemctl --user status home-backup.timer
journalctl --user -u home-backup.timer
  1. Allow timer to be triggered after reboot:
systemctl --user enable home-backup.timer