Phing: vigia as alterações dos arquivos

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/PATHpara 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.