Are you testing scripts with crontab?
Are you using crontab to schedule scripts you are testing or developing before they go live? I have seen a few system administrators running scripts via crontab entries when they need to run a one off script or they are testing new scripts. Often, then crontab entry is forgotten and not removed, so cron may continue to schedule the script, which may have been deleted now.
As an example, someone was asked to run a script overnight as a one off, so the proceeded to add a cron job like the following example. The current date is 3rd July.
30 20 3 7 * * /home/my_script.sh 1>/home/my_script.out 2>&1
So that night, the job ran as expected, but the crontab entry was not removed. So every year, on the 3rd of July, the script will execute, if it still exists, otherwise it will produce an error in the cron log.
A much better way to schedule a one of script is to use the at command. The at command actually uses cron to run the job, but the job is automatically deleted once it has been run.
Here are some examples on how to use the at command. The lines after the at command are the scripts or commands you would like to run, followed by ctrl+d to submit the at job.
To run a job now:
at now
/home/my_script.sh 1>/home/my_script.out 2>&1
ctrl+d
To run a job in 1 hours time:
at now + 1 hour
/home/my_script.sh 1>/home/my_script.out 2>&1
ctrl+d
To run a job at this time tomorrow:
at now + 1 day
/home/my_script.sh 1>/home/my_script.out 2>&1
ctrl+d
To run a job at 20:00 tonight:
at 2000
/home/my_script.sh 1>/home/my_script.out 2>&1
ctrl+d
To list the at jobs you have scheduled:
at -l
root.1476169166.a Tue 11 Oct 17:59:26 2016
root.1476176400.a Tue 11 Oct 20:00:00 2016
root.1476176401.a Tue 11 Oct 20:00:01 2016
To delete an at job you have scheduled:
at -r root.1476176401.a
The root.1476176401.a at file is deleted.