anacron is probably your answer. It's usually installed on linuxes but is optional, and can be left off if your system administrator decided not to include it. On OS/X, it's a little more challenging, but there are pages on the internet explaining it better than I have room to here. Anacron running from launchd can be done.
On linux the man page should point you in the right direction.
Additionally you can make your script aware of the internet connection with a wget command and interrogate the results. If it's unsuccessful, go into a loop waiting for an internet connection to work with a timer of 10 minutes or whatever makes sense to you.
Hit me up if you need details of how to accomplish any of these tasks.