Hi, 

If you are experiencing problems to run "rundig" from a cron job (getting
some weird errors like "Word Sort Failed"), simply run the script from a
"csh" (C shell).

In other words, do these modifications in your rundig script.

1-      Change the first line "#!/bin/sh" to this "#!/bin/csh"

2-      Some "sh" commands do not work in the "csh". So we have to translate
them:

-       An if statement is different. It looks like this:

                                if (expr) then
                                    cmds
                                endif

-       To set an environment variable, the command to use is "setenv" and
not "export"

                        So this:                        TMPDIR = /path/tmp;
export TMPDIR
                        Would become this:              setenv TMPDIR
/path/tmp


At least, it is working for me (I'm using linux).

Cheers,

Benoit

P.S .: Thanx to Lisa Applegate and Adam Crews for the help
P.S.S.: I have attached a sample of my script if you need some inspiration
;)
 <<rundig.txt>> 
#!/bin/csh

#
# rundig
#
# $Id: rundig,v 1.3 1998/10/02 15:22:06 ghutchis Exp $
#
# This is a sample script to create a search database for ht://Dig.
# 
# I don't use this:
#if [ "$1" = "-v" ]; then
#    verbose=-v
#fi


#
# 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.
#
setenv TMPDIR /home2/htdig3.1.0b2/bin/tmp

setenv LOGFILE ./logs/dig-mysearchengine.log

setenv CONF /home2/htdig3.1.0b2/conf/dig-nrc-only.conf

/home2/htdig3.1.0b2/bin/htdig -v -s -c $CONF > $LOGFILE
/home2/htdig3.1.0b2/bin/htmerge -s -v -c $CONF >> $LOGFILE
/home2/htdig3.1.0b2/bin/htnotify -v -c $CONF >> $LOGFILE

#
# Only create the endings database if it doesn't already exist.
# This database is static, so even if pages change, this database will not
# need to be rebuilt.
#
if ( ! -f /home2/htdig3.1.0b2/common/word2root.db ) then
    /home2/htdig3.1.0b2/bin/htfuzzy -v endings >> $LOGFILE
endif

if ( ! -f /home2/htdig3.1.0b2/common/synonyms.db ) then
    /home2/htdig3.1.0b2/bin/htfuzzy -v synonyms >> $LOGFILE
endif

Reply via email to