X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fdatabase_cleanup.sh.in;h=e2815497d6f8e19296f616923bb2ed965bf43d49;hp=bbfa64674ad01a1c4e09afb410dab82c0977434a;hb=3334c6073b74551d18176701092179deb5b9ef06;hpb=53d8e6f8d1f18b0085dcfd46d1fc8640381513bc diff --git a/citadel/database_cleanup.sh.in b/citadel/database_cleanup.sh.in old mode 100644 new mode 100755 index bbfa64674..e2815497d --- a/citadel/database_cleanup.sh.in +++ b/citadel/database_cleanup.sh.in @@ -5,11 +5,39 @@ die () { exit 1 } -# data dir from autoconf? -DATA_DIR="@MAKE_DATA_DIR@" -if test -z "$DATA_DIR" ; then - DATA_DIR="/usr/local/citadel" +DATA_DIR="/usr/local/citadel" + + + +usage() { + echo "Usage: database_cleanup.sh [ -h citadel_dir ]" + exit 2 +} + +PARSED_ARGUMENTS=$(getopt -a -n database_cleanup.sh -o h: -- "$@") +VALID_ARGUMENTS=$? +if [ "$VALID_ARGUMENTS" != "0" ]; then + usage fi + +eval set -- "$PARSED_ARGUMENTS" +while : +do + case "$1" in + -h | --alpha) + DATA_DIR=${2} + shift 2 + ;; + # -- means the end of the arguments; drop this, and break out of the while loop + --) shift; break ;; + # If invalid options were passed, then getopt should have reported an error, + # which we checked as VALID_ARGUMENTS when getopt was called... + *) echo "Unexpected option: $1 - this should not happen." + usage + ;; + esac +done + DATA_DIR=$DATA_DIR/data # If we're on an Easy Install system, use our own db_ tools. @@ -87,6 +115,7 @@ you will need `du -sh $DATA_DIR|sed "s;/.*;;"` of free space. ! +echo We will attempt to look for a Citadel database in $DATA_DIR echo -n "Do you want to continue? " read yesno @@ -104,7 +133,10 @@ for x in 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d do filename=cdb.$x echo Dumping $filename - $DUMP -h $DATA_DIR $filename >/tmp/CitaDump.$x || die + $DUMP -h $DATA_DIR $filename >/tmp/CitaDump.$x || { + echo error $? + die + } rm -f $DATA_DIR/$filename done