#!/bin/sh

# skrypt do okresowych kontroli antywirusowych z crona
# (powinien dziaa, ale nie zosta dogbnie przetestowany)
#
# /etc/mkswatch-omit musi zawiera przynajmniej:
# .*\.vir$
# .*\.VIR$

STAMPFILE=/var/run/mksd/lastwatch

if [ -f ${STAMPFILE}.new ]
then
  exit 1
fi

rm -f /tmp/mksfound
touch ${STAMPFILE}.new

trap "rm -f \"${STAMPFILE}.new\" /tmp/mksfound" HUP
trap "rm -f \"${STAMPFILE}.new\" /tmp/mksfound" INT
trap "rm -f \"${STAMPFILE}.new\" /tmp/mksfound" QUIT
trap "rm -f \"${STAMPFILE}.new\" /tmp/mksfound" TERM

if [ -f $STAMPFILE ]
then
  FINDOPT="-newer $STAMPFILE"
else
  FINDOPT=""
fi

(
  while read i
  do
    find "$i" -noleaf -type f $FINDOPT | grep -v -f /etc/mkswatch-omit | mkschkin -s -q >>/tmp/mksfound
  done
) </etc/mkswatch-paths

if [ -s /tmp/mksfound ]
then
  mail root -s "Raport mkswatch" </tmp/mksfound
  (
    while read i j k l
    do
      if  [ "$i" = VIR ]
      then
        mv -f "$l" "${l}.vir"
      fi
    done
  ) </tmp/mksfound
fi

rm -f /tmp/mksfound
mv -f ${STAMPFILE}.new $STAMPFILE
