I want my cron job to run every hour, every day except Friday when I don't want it to run at all between the hours of 2am-9am (but hourly outside of this timeframe). Ideally, I'd like to have this in one line/one cron job. What I have so far is 2 lines (and I'm not 100% sure it is correct):
0 0 * * 0,1,2,3,4,6 script.sh
0 0-1,10-23 * * 5 script.sh
0 * * * 0,1,2,3,4,6 script.sh
, your two lines of crontab entries should do the job. I am not up to speed with the newest addition to the cron configuration, but the basic cron functionality, doesn't provide an exclusion directive. 3rd party job scheduling tools can provide that functionality. Tivoli Maestro is one that comes to mind off the top of my head. I am sure there are some open source ones out there. This is a very useful page to look at: en.wikipedia.org/wiki/List_of_job_scheduler_software