diff --git a/.bash_completion.d/server-backup b/.bash_completion.d/server-backup new file mode 100644 index 0000000000000000000000000000000000000000..54b91cda9e77a4ffa88abedc062f8d984cf4d2ac --- /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 0000000000000000000000000000000000000000..21e02f8a758c233f0a6ab4dad0c457fcc5426f46 --- /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