I added a subdomain and wanted to renew the certificate with my wrapper.sh but I get:
Skipped user interaction because Certbot doesn’t appear to be running in a terminal. You should probably include --non-interactive or --force-interactive on the command line.
I addes --none-interactive to the script and get:
certbot: error: unrecognized arguments: --none-interactive
Your workflow seems odd. The typical way to handle things using certbot is to get a script with a shell command (specifying directories, cert names, pre- and post-hooks, plugins, and all the rest), and then run certbot renew (or letsencrypt-auto renew) daily to handle the renewal. All the options you specify when you obtain the cert are saved, and the renewal applies them. There isn't generally a need to run the whole thing from a script.
As the error tells you, your command is malformed. If you're running certbot with your webserver disabled (why?), you probably would want the "standalone" plugin: letsencrypt-auto standalone --non-interactive --cert-name ...
But I added a new subdomain and a renewal like my conventional wrapper does not consider this. I used to use:
/usr/local/letsencrypt/letsencrypt-auto renew --pre-hook “service httpd stop” --post-hook “service httpd start” >> /var/log/le-renew.log
The webserver is not disabled when cron runs the script.