From c058515dc145101d60ae9802d7504e39d6ad17fa Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Fri, 4 Nov 2022 20:40:33 +0200 Subject: [PATCH] Server backup script. Local automation for running offsite-backup (from the homelab repo) on host01. --- .bash_completion.d/server-backup | 14 ++++++++++++++ Documents/bin/server-backup | 24 ++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 .bash_completion.d/server-backup create mode 100755 Documents/bin/server-backup diff --git a/.bash_completion.d/server-backup b/.bash_completion.d/server-backup new file mode 100644 index 0000000..54b91cd --- /dev/null +++ b/.bash_completion.d/server-backup @@ -0,0 +1,14 @@ +# vim: ft=bash + +_server_backup() { + local cur prev words cword opts + _init_completion || return + opts='-c' + + if [[ $cur == -* ]] + then + COMPREPLY=($(compgen -W "$opts" -- "$cur")) + fi +} + +complete -F _server_backup server-backup diff --git a/Documents/bin/server-backup b/Documents/bin/server-backup new file mode 100755 index 0000000..21e02f8 --- /dev/null +++ b/Documents/bin/server-backup @@ -0,0 +1,24 @@ +#!/bin/sh +set -eu + +usage() { + echo "$(basename "$0") [-c]" +} + +if [ "$#" -eq 0 ] +then + ssh -t host01.shore.co.il -o \ + "RemoteCommand tmux new-session -As backup sudo sh -c 'mount /dev/sdb1 /mnt && offsite-backup /mnt && umount /mnt'" +elif [ "$1" = '-c' ] +then + if ssh host01.shore.co.il tmux has-session -t backup 2>/dev/null + then + echo 'Backup is still running.' + else + echo 'Backup has finished.' + exit 1 + fi +else + usage + exit 1 +fi -- GitLab