You are indeed correct that you need certonly in order to do the renewal with a custom CSR.
As for auto renew scripts, as I posted in an earlier thread, you might try mine or any of severalotherexamples online to see if they can be modified to suit your needs.