GK27's answer does not fully answer the question, so let me clarify:
cron will run jobs when the time matches the provided expression. Your expression says that it should work when the minute is divided by 20 ( */20 ), and your time range says that it should work when the hour is in the specified range inclusive ( 5-23 ). The other three * say that they correspond to any day, month and year.
Therefore, the first task will be executed at 05:00, because the hour, 05 , is in the range from 5 to 23, and the minute, 00 , is divided by 20. The last job will work at 23:40 because hour 23 is in the range from 5 to 23, and the minute 40 is divided by 20. It will not work at 00:00, because hour 00 not in the range 5 to 23.
source share