Você pode fazer um script que gere um hash md5 sobre uma pasta de arquivos e, a cada 10 segundos, verificar as alterações.
Eu fiz uma tarefa phing que chama um script md5Watch.sh
<target name="watch" description="Watch changes in a folder">
<echo msg="Starting (Close with Ctrl+C)..." />
<exec command="touch ~/md5Watch.txt"/>
<exec command="chmod 777 ~/md5Watch.txt"/>
<exec command="echo 1 > ~/md5Watch.txt"/>
<exec command="./md5Watch.sh" passthru="true" checkreturn="true" />
</target>
E então o script (md5Watch.sh):
#!/bin/sh
echo "tBegin watching...";
while true
do
if [ $? -eq 0 ]
then
OLDVALUE=`cat ~/md5Watch.txt`
NEWVALUE=`find YOUR/FILES/FOLDER/PATH -type f -exec md5sum '{}' + | sort | md5sum`
if [ ${OLDVALUE} != ${NEWVALUE} ]
then
date=`date "+%H:%M:%S"`
echo "$date Files changed";
//EXECUTE HERE WHATEVER YOU WANT TO EXECUTE WHEN THE FILES CHANGE
echo ${NEWVALUE} > ~/md5Watch.txt
echo "";
fi
fi
sleep 10
done
Você só precisa alterar o YOUR/FILES/FOLDER/PATH
para o caminho da pasta onde seus arquivos estão.
Então, quando o md5 mudar (isto é, quando if [ ${OLDVALUE} != ${NEWVALUE} ]
for verdadeiro), execute o que quiser.