diff --git a/systemd/system/autobackup.service b/systemd/system/autobackup.service new file mode 100644 index 0000000..bf50eb5 --- /dev/null +++ b/systemd/system/autobackup.service @@ -0,0 +1,15 @@ +[Unit] +Description=Backup /home to USB-Stick +After=network.service + +[Service] +Type=oneshot +Environment="PARTUUID=7b2d5cb6-01" "MOUNTPOINT=/mnt/backup" "SOURCE=/home" +ExecStart=/usr/local/bin/autobackup.sh +StandardOutput=append:/var/log/autobackup.log +StandardError=append:/var/log/autobackup_error.log +Restart=no + + +[Install] +WantedBy=multi-user.target diff --git a/usr/local/bin/autobackup.sh b/usr/local/bin/autobackup.sh new file mode 100755 index 0000000..aad77a0 --- /dev/null +++ b/usr/local/bin/autobackup.sh @@ -0,0 +1,14 @@ +#! /usr/bin/bash + +echo "mounting ${PARTUUID} to ${MOUNTPOINT}" +mount -t ext4 PARTUUID="${PARTUUID}" ${MOUNTPOINT} + +if ! mountpoint -q ${MOUNTPOINT} ; then + echo "Backup Stick not mounted" >&2 + exit 1 +fi + +echo "syncing ${SOURCE} to ${MOUNTPOINT}" +rsync -a -v -z --delete ${SOURCE} ${MOUNTPOINT} + +umount ${MOUNTPOINT}