slcl/watchdir

54 lines
653 B
Bash
Executable File

#! /bin/sh
usage()
{
echo "$0 [-s <size>] [-r] [-h] [-j <jobs>] <dir>"
}
REGEN=0
SIZE=96
while getopts rj:s:h arg
do
case $arg in
j) JOBS="$OPTARG"
;;
r) REGEN=1
;;
s) SIZE="$OPTARG"
;;
h) usage
exit 0
;;
?) 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} \
${JOBS:+-j$JOBS} \
-d "$DIR" \
"$DIR/user"
while :
do
F="$(inotifywait -e modify,move,create,delete \
--format "%w%f" -qr "$DIR/user/")"
"$(dirname $0)/tngen" \
${SIZE:+-s$SIZE} \
${JOBS:+-j$JOBS} \
-d "$DIR" \
"$(dirname "$F")"
done