From fed13fe17ceec603c23e93cc8792548d886bfd9b Mon Sep 17 00:00:00 2001 From: Tharre Date: Tue, 27 Mar 2018 06:51:01 +0200 Subject: zsh: add setup_borgbackup for setting up backups --- .zshrc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to '.zshrc') diff --git a/.zshrc b/.zshrc index d68dcfb..c059206 100644 --- a/.zshrc +++ b/.zshrc @@ -174,6 +174,27 @@ function reset_usb() { done } +function setup_borgbackup() { + setopt ERR_RETURN + + BORG_SECRET=~/.borg_secret + BORG_SSH_KEY=~/.ssh/borg_key + + if [ ! -f "$BORG_SECRET" ]; then + install -m600 /dev/null "$BORG_SECRET" + pass backups/$(hostname) > "$BORG_SECRET" + fi + + if [ ! -f "$BORG_SSH_KEY" ]; then + ssh-keygen -q -N "" -f "$BORG_SSH_KEY" + KEY=$(< ${BORG_SSH_KEY}.pub) + + printf '%s\n' "command=\"cd /srv/borgbackup/repos/$(hostname);borg serve --restrict-to-path /srv/borgbackup/repos/$(hostname)\",restrict $KEY" | ssh "$1" "cat >> /srv/borgbackup/.ssh/authorized_keys" + + echo "Added key to remote server." + fi +} + ## PATH export PATH=$PATH:$HOME/bin -- cgit v1.2.3-70-g09d2