Yes, I fell over the some 20 years ago with the same result. It seems that
cron does not make sure that all conditions for the day match, so you may find that it runs every day between 15th & 21st each month AND every Sunday.
You would think that what you have set up is perfectly sensible, but sadly the
cron designers had other ideas.
I got round this by running a shell script everyday that decided if I was on the correct day and correct week, and if so then it progressed to run the script I really wanted. it is annoying and I sympathise, but that was my way round it.
From the crontab file manual (
man 5 crontab) I get this:-
Quote:
Note: The day of a command's execution can be specified by two fields - day of month, and day of week. If both fields are restricted (ie, aren't *), the command will be run when
either field matches the current time. For example,
"30 4 1,15 * 5" would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday.
I hope that this helps,
Robin