slcl/watchdir

53 lines
732 B
Bash
Executable File

#! /bin/sh
usage()
{
echo "$0 [-s <size>] [-r] [-h] [-d <subdir>] <dir>"
}
REGEN=0
SIZE=96
while getopts rs:d:h arg
do
case $arg in
r) REGEN=1
;;
s) SIZE="$OPTARG"
;;
h) usage
exit 0
;;
d) SUBDIR="$OPTARG"
;;
?) usage >&2
exit 1
;;
esac
done
shift $(($OPTIND - 1))
if [ $# != 1 ]; then
usage >&2
exit 1
fi
DIR="$1"
[ "$REGEN" -eq 1 ] && "$(dirname $0)/tngen" \
${SIZE:+-s$SIZE} \
-d "$DIR" \
"$DIR/user"
while :
do
F="$(inotifywait -e modify,move,create,delete \
--format "%w%f" -qr "$DIR/user/")"
sleep 1 # TODO: revisit this
"$(dirname $0)/tngen" \
${SIZE:+-s$SIZE} \
-d "$DIR" \
"$F"
done