Split grml-scripts into grml-scripts and grml-scripts-core
[grml-scripts-core.git] / usr_sbin / dirvish-setup
diff --git a/usr_sbin/dirvish-setup b/usr_sbin/dirvish-setup
deleted file mode 100755 (executable)
index 817c36d..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/bin/sh
-# Filename:      dirvish-setup
-# Purpose:       create basic setup for dirvish(8)
-# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-# Ressources:
-#   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
-################################################################################
-
-set -e
-
-. /etc/grml/script-functions
-. /etc/grml/lsb-functions
-
-check4root
-check4progs dialog dirvish rsync ssh-keygen ssh-copy-id
-
-PN="$0"
-CONFFILE=/etc/dirvish/master.conf
-
-set +e
-
-write_conffile() {
-  if [ -f "$CONFFILE" ] ; then
-     MASTERINFO="Notice: $CONFFILE exists already so I will not touch it.
-Please do not forget to add $CLIENT to the file if you wan to use the 'Runall' functionality."
-  else
-     MASTERINFO="An initial master configuration ($CONFFILE) has been generated.
-Please adjust it according to your needs."
-     cat > $CONFFILE << EOF
-# Master configuration file for dirvish, created by $PN on $(date)
-
-bank:
-     $BACKUP_DIR
-
-exclude:
-      lost+found/
-#      core
-#      *~
-#      .nfs*
-#      /var/lib/nfs/*tab
-#      var/cache/apt/archives
-#      var/cache/man
-#      var/tmp
-#      tmp
-#      /dev
-#      .kde/share/cache/*
-#      .firefox/default/*/Cache/*
-
-Runall:
-     $CLIENT 22:00
-     # add-another-client-here 22:00
-
-     # See http://www.dirvish.org/debian.howto.html for further details:
-expire-default: +30 days
-expire-rule:
-#       MIN HR    DOM MON       DOW  STRFTIME_FMT
-        *   *     *   *         1    +3 months
-        *   *     1-7 *         1    +1 year
-        *   *     1-7 1,4,7,10  1
-        *   10-20 *   *         *    +4 days
-#       *   *     *   *         2-7  +15 days
-
-EOF
-  fi
-}
-
-# TODO / integrate?
-cronsetup() {
-  test -f ~/.keychain/`uname -n`-sh && . ~/.keychain/`uname -n`-sh
-}
-
-get_backup_dir() {
-  # prompt user for directory which should be used
-  BACKUP_DIR="$(dialog --stdout --inputbox 'Please choose the directory where backups should be placed' 0 0 /backups)"
-
-  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
-
-    if [ $? -eq 0 ]; then
-       echo "mkdir $BACKUP_DIR"
-       echo "chmod 700 $BACKUP_DIR"
-    else
-       echo "warning: $BACKUP_DIR does not exist, skipped creation as requested"
-    fi
-  fi
-}
-
-client_name() {
-  CLIENT="$(dialog --stdout --inputbox 'Please choose the name for your client instance, also known as vault' 0 0 client1)"
-}
-
-tree_name() {
-  TREE="$(dialog --stdout --inputbox 'Please choose the directory you want to backup from your client (also known as tree)' 0 0 /home)"
-}
-
-create_client_conf() {
-  mkdir -p "${BACKUP_DIR}/${CLIENT}/dirvish"
-  if [ -f "${BACKUP_DIR}/${CLIENT}/dirvish/default.conf" ] ; then
-     ewarn "Warning: ${BACKUP_DIR}/${CLIENT}/dirvish/default.conf exists already, ignoring creation." ; eend 0
-  else
-     cat > "${BACKUP_DIR}/${CLIENT}/dirvish/default.conf" << EOF
-# Configuration file of client-side for dirvish created by $PN on $(date)
-client: $CLIENTNAME
-tree: $TREE
-xdev: true
-index: gzip
-image-default: %Y-%m-%d
-exclude:
-        var/cache/apt/archives/*
-        var/cache/man/*
-        tmp/*
-        var/tmp/*
-rsh: ssh -i $HOME/.ssh/id_rsa_dirvish_${CLIENT}
-EOF
-  fi
-}
-
-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))"
-
-  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
-
-  if [ $? -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 $?
-  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
-
-  if [ $? -eq 0 ]; then
-     sshkey_setup
-  else
-     CLIENTNAME=$(hostname) # use localhost only
-  fi
-}
-
-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  
-Then run the following command to create an initial backup:
-
-  dirvish --summary long --vault $CLIENT --init
-
-Find the backup inside $BACKUP_DIR/$CLIENT/$(date +%Y-%m-%d)/tree/ then.
-
-Documentation available at:
-
-    man dirvish-locate.1 dirvish.conf.5 dirvish.8 dirvish-runall.8 dirvish-expire.8
-    /usr/share/doc/dirvish/HOWTO.upstream /usr/share/doc/dirvish/FAQ.html
-    /usr/share/doc/dirvish/HOWTO.Debian.gz
-
-    http://www.dirvish.org/
-    http://wiki.dirvish.org/
-
-Please report bugs regarding ${PN}: http://grml.org/bugs/
-" ; eend 0
-}
-
-case "$1" in
-    -h | --help | --h* )
-      echo "Usage: $PN" 1>&2
-      exit 1
-     ;;
-esac
-
-# now run the funtions:
-get_backup_dir     && \
-client_name        && \
-tree_name          && \
-client_setup       && \
-create_client_conf && \
-write_conffile     && \
-display_info
-
-## END OF FILE #################################################################
-# vim: ft=sh ai tw=80 expandtab