Easiest way is to put cron job to start it minute earlier and then add timing by your own.
You can also use
at. At least man page of
at says that you can use rather exact timing, including seconds. You can test this by adding
at job that records time, for example shell script running
date > ~/at_test
If you go with cron route,
date +%s is your friend.
let wait_time=target_time-`date +%s`
if [ $wait_time -gt 0 ]; then
# Execute your code
With this approach your next problem is to figure out how to determine target_time. If you always know that you want to start it in the next minute, you can use
sleep 2 # Avoid running on xx:59, if cron starts immediately.
let wait_time=60-`date +%M`
to wait until minute changes.