How do I get a custom script to run when using hook_cron in my custom module?
Welcome to drupal! One of the first things that will learn is that Drupal keeps an internal cache of all hooks implemented on the site. Just because you implement hook_cron() in your custom module, and then run cron, does not mean it will work.

Steps I would suggest to help fix


Install drush (this is Drupal's Swiss Army knife)
run drush cc all
run drush cron


Hopefully it will all be resolved

To check if your module is installed and enabled correctly you can


drush pml | grep get_weather (or alternatively look at the modules list in the UI)


Or to check if there is something wrong with your function update_weather();, you can run it in the context of drupal (i.e. alter a full drupal bootstrap with all modules loaded)


drush php-eval "print update_weather();" - you can also place additional logging or printing in your function to see what is going on.


Of course, don't forget to define all you functions that you want to execute in the .module file, as every enabled module, has it's .module file included on every request. On a side note, why don't you do away with calling another function from hook cron?

function get_weather_cron() { update_weather(); }


Simply use something similar to the following one.

function get_weather_cron() {
  // more actual weather getting code here
  variable_set('get_weather_temp', 23);
}


It should be easier to read for the next person too.