X-Git-Url: http://git.grml.org/?p=grml-scripts.git;a=blobdiff_plain;f=usr_sbin%2Fdirvish-setup;h=bef4524b59833a6d6b400640fc755b454a5b2adc;hp=842a0643397fc524b1a078b7f895b9d55df87607;hb=HEAD;hpb=021e9ecd0ee33c3ec9f9774cfabe972b93bc59da diff --git a/usr_sbin/dirvish-setup b/usr_sbin/dirvish-setup index 842a064..8a2497c 100755 --- a/usr_sbin/dirvish-setup +++ b/usr_sbin/dirvish-setup @@ -4,9 +4,8 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Sam Mär 10 10:46:39 CET 2007 [mika] ################################################################################ -# Ressources: +# Resources: # http://apt-get.dk/howto/backup/ # http://edseek.com/~jasonb/articles/dirvish_backup/advanced.html # http://www.dirvish.org/svn/contrib/admin/DailyEmailScript/dirvish-status.sh @@ -14,11 +13,13 @@ set -e +# shellcheck disable=SC1091 . /etc/grml/script-functions +# shellcheck disable=SC1091 . /etc/grml/lsb-functions check4root -check4progs dirvish rsync ssh-keygen ssh-copy-id +check4progs dialog dirvish rsync ssh-keygen ssh-copy-id PN="$0" CONFFILE=/etc/dirvish/master.conf @@ -72,7 +73,8 @@ EOF # TODO / integrate? cronsetup() { - test -f ~/.keychain/`uname -n`-sh && source ~/.keychain/`uname -n`-sh +# shellcheck disable=SC1090 + test -f "${HOME}/.keychain/$(uname -n)-sh" && . "${HOME}/.keychain/$(uname -n)-sh" } get_backup_dir() { @@ -81,8 +83,9 @@ get_backup_dir() { if ! [ -d "$BACKUP_DIR" ] ; then dialog --stdout --title "${PN}" --yesno "The directory $BACKUP_DIR does not yet exist. Do you want me to create it for you? " 0 0 + RC=$? - if [ $? -eq 0 ]; then + if [ ${RC} -eq 0 ]; then echo "mkdir $BACKUP_DIR" echo "chmod 700 $BACKUP_DIR" else @@ -122,23 +125,25 @@ EOF } sshkey_setup() { - CLIENTNAME="$(dialog --stdout --inputbox 'Please choose user login and hostname for the client you want to backup. Syntax: user@host' 0 0 root@$(hostname))" + CLIENTNAME="$(dialog --stdout --inputbox 'Please choose user login and hostname for the client you want to backup. Syntax: user@host' 0 0 root@"$(hostname)")" dialog --stdout --title "${PN}" --yesno "Do you want me to create ssh setup for client ${CLIENTNAME} using ssh-keygen and ssh-copy-id?" 0 0 + RC=$? - if [ $? -eq 0 ]; then + if [ ${RC} -eq 0 ]; then [ -d "$HOME/.ssh" ] || mkdir "$HOME/.ssh" einfo "Creating $HOME/.ssh/id_rsa_dirvish_${CLIENT} using ssh-keygen:" ssh-keygen -t rsa -f "$HOME/.ssh/id_rsa_dirvish_${CLIENT}" ; eend $? einfo "Running ssh-copy-id to copy ssh key to $CLIENTNAME:" - ssh-copy-id -i "$HOME/.ssh/id_rsa_dirvish_${CLIENT}.pub" $CLIENTNAME ; eend $? + ssh-copy-id -i "$HOME/.ssh/id_rsa_dirvish_${CLIENT}.pub" "$CLIENTNAME" ; eend $? fi } client_setup() { dialog --stdout --title "${PN}" --yesno "Do you want to backup $CLIENT via network? Answering with no will use localhost [$(hostname)] as client." 0 0 + RC=$? - if [ $? -eq 0 ]; then + if [ ${RC} -eq 0 ]; then sshkey_setup else CLIENTNAME=$(hostname) # use localhost only @@ -149,7 +154,7 @@ display_info() { einfo "Running $PN was successful. Enjoy using dirvish!" ; eend 0 echo einfo "Please adjust ${BACKUP_DIR}/${CLIENT}/dirvish/default.conf according to your needs. -$MASTERINFO +$MASTERINFO Then run the following command to create an initial backup: dirvish --summary long --vault $CLIENT --init @@ -176,7 +181,7 @@ case "$1" in ;; esac -# now run the funtions: +# now run the functions: get_backup_dir && \ client_name && \ tree_name && \