cron.*ly and the lost scripts

The problem is quite simple: you need to run a script on a regular basis, so you put it in one of the directories of the /etc/cron.{daily,weekly,monthly} hierarchy but for some reason cron just seems to ignore it.

First, check that the script is really where you think it is, that it is executable (or else chmod a+x yourscript to make it so) and that it’s name does contain only letters, numbers, underscores and hyphens. In fact, a script named run.me won’t be run because of the dot.

You can get the list of the scripts that are eligible to run with:

$ run-parts --test /etc/cron.daily

You can change the argument /etc/cron.daily to any other directory.

If the above rules are respected you should run your script manually and see if it actually is run by cron but it just doesn’t produce what it should.

Finally, it could be a “Environment sensitive script” case, that is the script suffers from stress when it’s run by cron because it finds a different environment (e.g. $HOME, $PATH, etc. could be different).
Try to run it every X minutes with crontab and get the output mailed to an e-mail you can check (you need a proper Mail Transport Agent to be installed and working on the system). Here is a snippet of how the /etc/crontab should look:

[..]
MAILTO=you@example.com
*/10 * * * * root /path/yourscript

Hope this helps!

None
A comma-separated list of terms describing this content. Example: funny, bungee jumping, "Company, Inc.".