<?php
header("Refresh: 30; ?akcja=zrob_kawe");
?>
A potem robisz do tego odpowiednią akcję gdy akcja=zrob_kawe. To jest jeden z kilku sposobów. Mało skuteczny bo jak ktoś będzie odświeżał stronę w mniej niż 30 sekund to ten kod się nigdy nie wykona, dlatego też lepiej czas w którym user wszedł na stronę przechowywać w bazie, sesjach, ciasteczkach.
Wtedy tylko sprawdzasz czy różnice czasowe między aktualnym czasem a tym zapisanym w sesji etc. A następnie wykonujesz odpowiednią akcję.
@cadavre - a po co tutaj cron? Cron != użytkownik.
Pozdrawiam!