Is there a way to run a shell script on a custom cron? I'm new to all this so maybe this isn't the best solution, but I've created a shell script cache warmer. 

wget --quiet http://www.example.com/custom-sitemap.xml --output-document - |
egrep -o "http://www.example.com/[^&lt;]+" | wget --delete-after -i -


I can also do this with drush commands too using the cache warmer module.

I need to figure out how to run these commands every couple of hours.  

My understanding was that I could create a custom cron job with Elysia cron that ran the script on my server, but now I am confused if this is possible / how to implement.

When I go to the script section and write the following:

*/15 * * * * custom_cron


I am told it it is an invalid line.

Can you make custom timed cron jobs then use the elysia cron API to make a module call my shell script?

Thanks!
I believe you can edit the crontab or by talking to hosting provider you will be able to edit the crontab file.

In case, if you have to do it in custom module using Elysia Cron API, I assume you can do it following way : 

function example_cronapi($op, $job = NULL) {
  $items['example_shell_cron'] = array(
    'description' =&gt; 'Send mail with news',
    'rule' =&gt; '0 */4 * * *', // Every 4 hours
  );
  return $items;
}


function example_shell_cron() {
  shell_exec ('wget --quiet http://www.example.com/custom-sitemap.xml --output-document - |
egrep -o "http://www.example.com/[^&lt;]+" | wget --delete-after -i -');
}