Есть такая класная функция - touch, она в разделе операций с файлами...
2 if ( touch($FileName) ) {
3 print "$FileName modification time has been changed to todays date and time";
4 } else {
5 print "Sorry Could Not change modification time of $FileName";
6 }
Ну а "filemtime -- Get file modification time"
Только чтобы было совсем правильно - надо
1) смотришь время $tm=filemtime("timestamp");
2) сравниваешь $tm < time() + сутки (в секундах)
если нет - уходим (end)
если да
3.1) rename("timestamp","timestamp2") - чтобы никто другой не поменял. (проверяешь, без ошибок ли это сделано)
Если ошибка - значет кто-то другой уже это делает, а этому скрипту не надо - уходишь. (end)
Если получилось, значит этот скрипт и должен делать всю грязную работу.... (3.2)
3.2) делаем touch("timestamp2");
3.3) ложим файлик назад rename("timestamp2","timestamp")
3.4) спокойно отрабатываем, что надо
end)
Да, если твой скриптик может недоделать это доконца и кануть влету, то сделай то же самое
для конца операции (3.5) - только файлик какой-то другой "script.completed".
И проверяй так же, только период несколько больше суток (а вдруг скрипт просто медленно работает)
Ну и файлики эти должны сущутвовать - создай их, и чтобы скрипт мог писать в этот каталог.