From 6a945abd95edfe802dc1bef05cce685150fc947c Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Sat, 10 Mar 2007 10:49:28 +0100 Subject: [PATCH] do not mv master.conf file but generate it only if it does not exist yet --- usr_sbin/dirvish-setup | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/usr_sbin/dirvish-setup b/usr_sbin/dirvish-setup index 51b7a11..6344f65 100755 --- a/usr_sbin/dirvish-setup +++ b/usr_sbin/dirvish-setup @@ -4,7 +4,7 @@ # 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: Fre Feb 23 23:49:58 CET 2007 [mika] +# Latest change: Fre Mär 09 19:45:57 CET 2007 [mika] ################################################################################ # Ressources: # http://apt-get.dk/howto/backup/ @@ -23,16 +23,17 @@ check4progs dirvish rsync ssh-keygen ssh-copy-id PN="$0" CONFFILE=/etc/dirvish/master.conf -# make sure we don't lose any files -if [ -f "$CONFFILE" ] ; then - mv $CONFFILE $CONFFILE.$(date +%Y%m%d).$$ -fi - set +e write_conffile() { - cat > $CONFFILE << EOF -# Configuration file for dirvish, created by $PN on $(date) + 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 @@ -42,16 +43,18 @@ exclude: # core # *~ # .nfs* +# /var/lib/nfs/*tab # var/cache/apt/archives # var/cache/man -# tmp # var/tmp -# /var/lib/nfs/*tab -# .kde/share/cache/* -# .firefox/default/*/Cache/* +# 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 @@ -64,6 +67,7 @@ expire-rule: # * * * * 2-7 +15 days EOF + fi } # TODO / integrate? @@ -91,6 +95,10 @@ 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 @@ -99,7 +107,7 @@ create_client_conf() { cat > "${BACKUP_DIR}/${CLIENT}/dirvish/default.conf" << EOF # Configuration file of client-side for dirvish created by $PN on $(date) client: $CLIENTNAME -tree: /home +tree: $TREE xdev: true index: gzip image-default: %Y-%m-%d @@ -141,6 +149,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 Then run the following command to create an initial backup: dirvish --summary long --vault $CLIENT --init @@ -170,6 +179,7 @@ esac # now run the funtions: get_backup_dir && \ client_name && \ +tree_name && \ client_setup && \ create_client_conf && \ write_conffile && \ -- 2.1.4