SSL auto renew problem


I have SSL installed, and I think that the way to auto-renew SSL certification is by putting this crontab entry:

0 7 * * * sudo certbot renew

The command sudo crontab -l gives the following output:

# Edit this file to introduce tasks to be run by cron.
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use ‘*’ in these fields (for ‘any’).
# Notice that tasks will be started based on the cron’s system
# daemon’s notion of time and timezones.
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# For more information see the manual pages of crontab(5) and cron(8)
# m h dom mon dow command
0 7 * * * sudo certbot renew >> /tmp/ct1

When I run sudo certbot renew to test, it gives the following output:

sudo: certbot: command not found

When I check /var/log/syslog, I get these entries:

Mar 22 10:53:01 edx-tutor-dev CRON[1398366]: (root) CMD (sudo certbot renew >>/tmp/ct1)
Mar 22 10:53:01 edx-tutor-dev CRON[1398365]: (CRON) info (No MTA installed, discarding output)

The command is not executing. Can I please know how this command will get executed? Is my setup wrong somewhere?

Thanks in advance for your help.


@rvgi2904, it looks like you may not have the certbot package installed. Can you provide the details about the OS and its version that you are using and how you installed certbot if you have installed it?

From the logs that you have shared, it looks like you might be trying to run these commands within a container provisioned by/for Tutor. From the Tutor docs, it looks like the SSL certificate setup and management is handled by the Caddy web server running inside its own container. So you have to check that.

Since your question appears to be related to Tutor, it will be a good idea to ask your question on the official Tutor forum.

If you want to know how to install certbot on a non-Tutor setup, please read on.

You can install certbot by picking an appropriate installation method from Certbot - Certbot Instructions. When installing certbot via one of the officially supported methods, a cronjob and a systemd timer to handle the automatic renewals will be automatically set up. So you don’t have to try and set any cron jobs for the renewal at all.