#!/bin/sh # # rundig # # $Id: rundig,v 1.7 1999/01/31 04:27:02 ghutchis Exp $ # # This is a sample script to create a search database for ht://Dig. # # # Modified by Wayne Larmon 2000/01/01 to support all the command # line arguments. Also makes using "-c config file" option easier # DBDIR=/var/lib/htdig/db COMMONDIR=/var/lib/htdig/common BINDIR=/usr/sbin CONFDIR=/etc/htdig # To help debug problems, try running rundig -vvv # This will add lots of debugging output to all of the programs alt= stats= opts= dig= merge= notify= while getopts ":adlstvwb:c:h:u:m:" opt; do case $opt in a) alt="-$opt " ;; s) stats="-$opt " ;; t | l) dig="$dig -$opt" ;; d | w) merge="$merge -$opt" ;; s | v) opts="$opts -$opt" ;; b) notify="-$opt $OPTARG" ;; c) opts="$opts -$opt $CONFDIR/$OPTARG.conf" ;; m) merge="$merge -$opt $CONFDIR/$OPTARG.conf" ;; h | u) dig="$dig -$opt $OPTARG" ;; *) echo -e "\a\n Invalid option\n"; exit 1 ;; esac done shift $(($OPTIND -1)) echo -e "\nhtdig will use $alt $stats $opts $dig" echo -e "htmerge will use $alt $stats $opts $merge\n" # # Set the TMPDIR variable if you want htmerge to put files in a location # other than the default. This is important if you do not have enough # disk space for the big sort that htmerge runs. Also, be aware that # on some systems, /tmp is a memory mapped filesystem that takes away # from virtual memory. # TMPDIR=$DBDIR export TMPDIR $BINDIR/htdig -i $opts $stats $alt $dig $BINDIR/htmerge $opts $stats $alt $merge case "$alt" in -a) ( cd $DBDIR && test -f db.docdb.work && for f in *.work do mv -f $f `basename $f .work` done ) ;; esac # If you're low on disk space and you don't mind completely reindexing # every time you run this script, you can always # rm $DBDIR/db.wordlist # OR # If you'd rather run update digs all the time with the minimal databases # Keep only the following files (and don't call htdig with -i): # db.docdb, db.docdb.work, db.docs.index, db.wordlist.work, db.words.db $BINDIR/htnotify $opts $notify # If you want to use the soundex and (or) metaphone fuzzy matchings, # Uncomment the following line # $BINDIR/htfuzzy $opts soundex metaphone # # Create the endings and synonym databases if they don't exist # or if they're older than the files they're generated from. # These databases are semi-static, so even if pages change, # these databases will not need to be rebuilt. # if [ "`ls -t $COMMONDIR/english.0 $COMMONDIR/word2root.db 2>/dev/null | sed 1q`" = \ "$COMMONDIR/english.0" ] then $BINDIR/htfuzzy $opts endings fi if [ "`ls -t $COMMONDIR/synonyms $COMMONDIR/synonyms.db 2>/dev/null | sed 1q`" = \ "$COMMONDIR/synonyms" ] then $BINDIR/htfuzzy $opts synonyms fi