Index: sarg/sarg-reports =================================================================== --- sarg.orig/sarg-reports +++ sarg/sarg-reports @@ -137,10 +137,7 @@ VER=20050202 ## The configuration is end, so don't touch anything bellow # TEMP Files -R=$RANDOM -[ -n "$R" ] || R="$(od -An -d -N2 /dev/urandom | tr -d ' ')" -TMPFILE=/tmp/sarg-reports.$R - ERRORS="${TMPFILE}.errors" +ERRORS=`mktemp` # Date Calc MANUALDATE=$2 @@ -203,7 +200,6 @@ create_index_html () exclude_from_log () { cat $ERRORS | grep -v "$EXCLUDELOG1" | grep -v "$EXCLUDELOG2" - rm -f $TMPFILE* } manual () @@ -219,12 +215,28 @@ manual () fi } +run_sarg () +{ + DATE_PAR="$1" + OUT_PAR="$2" + + TMPDIR=`mktemp -d` + if [ $? -ne 0 -o -z "$TMPDIR" ]; then + echo "Failed to create temporary directory" 1>&2 + exit 1 + fi + + $SARG -f $CONFIG -d "$DATE_PAR" -o "$OUT_PAR" -w "$TMPDIR" >$ERRORS 2>&1 + + rm -rf "$TMPDIR" +} + today () { DAILYOUT=$HTMLOUT/$DAILY mkdir -p $DAILYOUT create_index_html - $SARG -f $CONFIG -d $TODAY -o $DAILYOUT >$ERRORS 2>&1 + run_sarg $TODAY $DAILYOUT exclude_from_log } @@ -233,7 +245,7 @@ daily () DAILYOUT=$HTMLOUT/$DAILY mkdir -p $DAILYOUT create_index_html - $SARG -f $CONFIG -d $YESTERDAY -o $DAILYOUT >$ERRORS 2>&1 + run_sarg $YESTERDAY $DAILYOUT exclude_from_log } @@ -242,7 +254,7 @@ weekly () WEEKLYOUT=$HTMLOUT/$WEEKLY mkdir -p $WEEKLYOUT create_index_html - $SARG -f $CONFIG -d $WEEKAGO-$YESTERDAY -o $WEEKLYOUT >$ERRORS 2>&1 + run_sarg $WEEKAGO-$YESTERDAY $WEEKLYOUT exclude_from_log } @@ -251,7 +263,7 @@ monthly () MONTHLYOUT=$HTMLOUT/$MONTHLY mkdir -p $MONTHLYOUT create_index_html - $SARG -f $CONFIG -d $MONTHAGO -o $MONTHLYOUT >$ERRORS 2>&1 + run_sarg $MONTHAGO $MONTHLYOUT exclude_from_log }