Help Needed: HTTPS Certificates Not Auto-Renewing After VestaCP → HestiaCP Migration

Hello everyone,

I hope you’re doing well. I’m running into an issue where my HTTPS certificates—both for the main website and the webmail—are not renewing automatically. I migrated from VestaCP to HestiaCP at the end of November last year, and since then the automated renewal process has stopped working.

Managing this manually has become a real challenge because I have over 500 clients. Every day I receive complaints, so I trigger the renewal by hand. Even after a successful manual renewal, I still need to restart both Nginx and Apache2.

Has anyone else experienced this problem or have any idea what might be causing it? I’m a bit lost.

Thank you in advance for any help!

Check if the cronjob is running

So the file is being executed.

I logged in via SSH and ran the script manually, and it worked perfectly. I’ve also verified that the cron job is active and running as expected.

`root@kingteste2:~# service cron status
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; preset: enabled)
Active: active (running) since Fri 2025-04-18 15:44:20 -03; 1 week 2 days ago
Docs: man:cron(8)
Main PID: 2664801 (cron)
CGroup: /system.slice/cron.service
├─ 969800 sleep 1
├─2385614 /usr/sbin/CRON -f
├─2385617 /bin/sh -c “TERM=xterm /bin/bash /code/sentinela.sh >> /var/log/iniciaSentinela.log 2>&1”
├─2385619 /bin/bash /code/sentinela.sh
└─2664801 /usr/sbin/cron -f

Apr 28 12:48:01 kingteste2.com.br CRON[950042]: pam_unix(cron:session): session closed for user root
Apr 28 12:50:01 kingteste2.com.br CRON[955724]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Apr 28 12:50:01 kingteste2.com.br CRON[955725]: (root) CMD (/bin/bash /code/sentinela/smsAvisos.sh Clone2 200 >> /var/l>
Apr 28 12:50:01 kingteste2.com.br CRON[955724]: pam_unix(cron:session): session closed for user root
Apr 28 12:52:01 kingteste2.com.br CRON[961371]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Apr 28 12:52:01 kingteste2.com.br CRON[961372]: (root) CMD (/bin/bash /code/sentinela/smsAvisos.sh Clone2 200 >> /var/l>
Apr 28 12:52:01 kingteste2.com.br CRON[961371]: pam_unix(cron:session): session closed for user root
Apr 28 12:54:01 kingteste2.com.br CRON[968727]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Apr 28 12:54:01 kingteste2.com.br CRON[968728]: (root) CMD (/bin/bash /code/sentinela/smsAvisos.sh Clone2 200 >> /var/l>
Apr 28 12:54:01 kingteste2.com.br CRON[968727]: pam_unix(cron:session): session closed for user root
lines 1-22/22 (END)
`

I’ve reviewed both the application logs and the cron logs, and there are no errors.

Cron service yes, but not the cron jobs for hestiaweb user.

Show the output of these commands:

grep -r 'CRON.*v-update-lets' /var/log/syslog*
crontab -l -u hestiaweb | cat -A
ls -la /var/spool/cron/crontabs/

This command produced no output.

grep -r 'CRON.v-update-lets’ /var/log/syslog

This one returned output.

crontab -l -u hestiaweb | cat -A

MAILTO=“”$
CONTENT_TYPE=“text/plain; charset=utf-8”$
*/2 * * * * sudo /usr/local/hestia/bin/v-update-sys-queue restart$
10 00 * * * sudo /usr/local/hestia/bin/v-update-sys-queue daily$
15 02 * * * sudo /usr/local/hestia/bin/v-update-sys-queue disk$
10 00 * * * sudo /usr/local/hestia/bin/v-update-sys-queue traffic$
30 03 * * * sudo /usr/local/hestia/bin/v-update-sys-queue webstats$
*/5 * * * * sudo /usr/local/hestia/bin/v-update-sys-queue backup$
#10 05 * * * sudo /usr/local/hestia/bin/v-backup-users$
20 00 * * * sudo /usr/local/hestia/bin/v-update-user-stats$
*/5 * * * * sudo /usr/local/hestia/bin/v-update-sys-rrd$
34 2 * * * sudo /usr/local/hestia/bin/v-update-letsencrypt-ssl

This other command, ls -la /var/spool/cron/crontabs/, returned the following output:

total 216
drwx-wx–T 2 root crontab 4096 Apr 10 08:26 .
drwxr-xr-x 5 root root 4096 Mar 1 20:41 …
-rw------- 1 admin admin 10205 Apr 10 08:26 admin
-rw------- 1 hestiaweb hestiaweb 674 Mar 23 16:40 hestiaweb
-rw------- 1 root root 675 Mar 23 16:40 hestiaweb.vst.back

It also lists all my clients, which I’ve omitted here.

Ok, do two things to fix it.

rm /var/spool/cron/crontabs/hestiaweb.vst.back

And edit the hestiaweb’s crontab and save the file.

crontab -e -u hestiaweb

After five minutes you could check syslog to see whether the cron jobs are running:

grep -r 'CRON.*hestiaweb.*v-' /var/log/syslog
4 Likes

Thank you, Sahsanu, for resolving the issue. Your help was exactly what I needed. I followed your procedure, and everything is working perfectly now. Thank you very much!

3 Likes