As you’ve probably seen in the comments to your question, the cronjobs in
/etc/cron.hourly(and the other, similar directories) are executed by
run-partsis a little picky about filenames. By default it doesn’t execute files whose filenames contain anything other than (all of those from ASCII)
- uppercase letters
- lowercase letters
- dashes (“minus signs”)
So if your script has a filename of for example “myscript.sh”, it just is ignored, because
run-partsdoes not like the dot.