If you wanted to run it once a day, you could check the date of the file everytime someone requested the file... and run if the date was yesterday.
So create a file with teh current date. Everytime a user requests a page, check the file. If the current date is equal to the date in the file, do nothing.
Otherwise, run the job and then update the date in the file.