summaryrefslogtreecommitdiffstats
path: root/bin/do-diffs.in
diff options
context:
space:
mode:
Diffstat (limited to 'bin/do-diffs.in')
-rwxr-xr-xbin/do-diffs.in21
1 files changed, 14 insertions, 7 deletions
diff --git a/bin/do-diffs.in b/bin/do-diffs.in
index 4a310ef..1304a7e 100755
--- a/bin/do-diffs.in
+++ b/bin/do-diffs.in
@@ -7,6 +7,8 @@ ENVFILE="`dirname $0`/env"
. $ENVFILE
+TMPDIR=${TMPDIR:=/tmp}; export TMPDIR
+
if [ $# -ge 1 ] ; then
LIST_OF_GROUPS="$*"; export LIST_OF_GROUPS
elif [ "$LIST_OF_GROUPS" = "" ] ; then
@@ -18,6 +20,7 @@ if [ ! -d $BASEDIR/logs ] ; then
mkdir $BASEDIR/logs
fi
+
for GROUP in $LIST_OF_GROUPS
do
@@ -30,28 +33,32 @@ do
if [ -f $LOCKFILE ]
then
echo hourly config diffs failed: $LOCKFILE exists
- /bin/ls -l $LOCKFILE
+ ls -l $LOCKFILE
# Send email if the lock file is old.
if [ "X$LOCKTIME" = "X" ] ; then
LOCKTIME=4
fi
- @PERLV_PATH@ -e "\$t = (stat(\"$LOCKFILE\"))[9]; print \"OLD\\n\" if (time() - \$t >= $LOCKTIME*60*60);" > $TMPDIR/.$GROUP.old
+ @PERLV@ -e "\$t = (stat(\"$LOCKFILE\"))[9]; print \"OLD\\n\" if (time() - \$t >= $LOCKTIME*60*60);" > $TMPDIR/.$GROUP.old
if [ -s $TMPDIR/.$GROUP.old ]
then
(
cat <<END
rancid $GROUP hung on `hostname`? Old lockfile still exists:
-`/bin/ls -l $LOCKFILE`
+`ls -l $LOCKFILE`
END
- ) | Mail -s "rancid hung - $GROUP" rancid-admin-$GROUP
+ ) | Mail -s "rancid hung - $GROUP" @MAILPLUS@admin-$GROUP
fi
rm -f $TMPDIR/.$GROUP.old
else
- /usr/bin/touch $LOCKFILE
- control_rancid $GROUP
- /bin/rm -f $LOCKFILE
+ trap 'rm -fr $LOCKFILE;' 1 2 15
+ touch $LOCKFILE
+ if [ $? -eq 0 ] ; then
+ control_rancid $GROUP
+ rm -f $LOCKFILE
+ fi
+ trap '' 1 2 15
fi
echo