Compare commits

...

3 Commits

3 changed files with 17 additions and 5 deletions

View File

@ -17,7 +17,7 @@ Then either run `sudo tupper` or wait for the daily cron scheduler to kick in.
## Building
`dpkg-deb --build . tupper_0.1_any.deb`
`dpkg-deb --build . tupper_0.1_all.deb`
## TODO / Known pitfalls

View File

@ -1,4 +1,4 @@
#!/bin/bash
/usr/sbin/tupper 2>&1 | tee --append /var/log/tupper.log
/usr/sbin/tupper backup 2>&1 | tee --append /var/log/tupper.log

View File

@ -3,6 +3,14 @@
# Inform user
echo "Welcome to tupper! Running on $(date)"
# Check if it is clear what to do
ACTION="$1"
if [ "$ACTION" != "backup" ] && [ "$ACTION" != "initialize" ]; then
echo "tupper requires an action: $0 { initialize | backup }" 1>&2
echo "Unrecognized action: $ACTION" 1>&2
exit 1
fi
# Check access rights of config file
CONF="/etc/tupper.conf"
if [ "$(stat -c '%U' $CONF)" != "root" ] && [ "$(stat -c '%A' $CONF)" = "*------" ]; then
@ -13,7 +21,7 @@ fi
source "$CONF"
# Check if required variables are set
if [ "$SSH_URI$SSH_PASS$TARGET" = "" ]; then
if [ "$SSH_URI" = "" ] || [ "$SSH_PASS" = "" ] || [ "$TARGET" = "" ]; then
echo "Config file $CONF must contain SSH_URI, SSH_PASS and TARGET" 1>&2
exit 1
fi
@ -35,8 +43,12 @@ fi
# Backup
export BORG_PASSPHRASE
export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes
borg create --stats "$MOUNTPOINT::"'{now}' "$TARGET"
borg list "$MOUNTPOINT"
if [ "$ACTION" = "initialize" ]; then
borg init --encryption=repokey "$TARGET"
elif [ "$ACTION" = "backup" ]; then
borg create --stats "$MOUNTPOINT::"'{now}' "$TARGET"
borg list "$MOUNTPOINT"
fi
# Unmount and clean up mountpoint
fusermount -u "$MOUNTPOINT" && \