HestiaCP és un tauler de control de codi obert que permet gestionar llocs web, correu electrònic, bases de dades i moltes altres coses. Entre les seves funcions, hi ha la possibilitat de configurar Tareas que s'executin periòdicament. Aquestes Tareas s'assemblen molt a les tasques cron que utilitzen les distribucions de GNU/Linux.
A continuació us expliquem com heu de configurar les Tareas a HestiaCP i com heu d'emplenar totes les dades necessàries, així com comprovar que s'executen correctament.
Conceptes bàsics de les tasques
Cada usuari que tinguem a HestiaCP disposa de l'opció Tareas; per exemple, l'usuari admin, que hi ha per defecte, disposa de les seves Tareas:
Aquestes Tareas serveixen principalment per garantir el bon funcionament de HestiaCP: actualitzen dades del tauler, creen còpies de seguretat dels usuaris, actualitzen estats, comproven si hi ha actualitzacions disponibles, etc.
Un usuari nou probablement no disposarà de cap tasca, però en podem afegir una fent clic al botó Añadir Tarea Programada:
A continuació us expliquem què significa cada paràmetre de les Tareas:
- Comando: Ordre que s'ha d'executar. Cal indicar el camí absolut de l'ordre seguit del camí absolut del fitxer que s'ha d'executar. Si no sabeu el camí absolut de l'ordre, podeu accedir al servidor per SSH i executar l'ordre: whereis [comando] (per exemple: whereis php8.1).
- Minuto: Minut en què s'ha d'executar la tasca.
- Hora: Hora en què s'ha d'executar la tasca.
- Día: Dies en què s'ha d'executar la tasca.
- Mes: Mes en què s'ha d'executar la tasca.
- Día de la semana: Dies de la setmana en què s'ha d'executar la tasca.
Quan s'ha d'executar la tasca
A HestiaCP teniu l'opció de configurar automàticament quan voleu que s'executi la tasca: només cal obrir el desplegable i seleccionar el moment. Si necessiteu una configuració més específica, podeu fer servir el web Crontab.guru.
Afegir una tasca per executar fitxers PHP
Per afegir una tasca que executi un fitxer PHP, heu d'introduir el següent:
Trobar el camí absolut de l'ordre
Recordeu que l'ordre per executar un script PHP és php8.1 (per a la versió de PHP 8.1; si en feu servir una altra, heu d'indicar l'ordre corresponent), però cal utilitzar-ne el camí absolut. Per trobar-lo, heu d'accedir al servidor per SSH i executar el següent:
$ whereis php8.1
bash: /usr/bin/php8.1
Afegir una tasca per executar fitxers Bash
Per afegir una tasca que executi un fitxer BASH, heu d'introduir el següent:
Trobar el camí absolut de l'ordre
Recordeu que l'ordre per executar un script BASH és bash, però cal utilitzar-ne el camí absolut. Per trobar-lo, heu d'accedir al servidor per SSH i executar el següent:
$ whereis bash
bash: /usr/bin/bash
Afegir una tasca per executar fitxers Python
Per afegir una tasca que executi un fitxer Python, heu d'introduir el següent:
Trobar el camí absolut de l'ordre
Recordeu que l'ordre per executar un script Python és python3, però cal utilitzar-ne el camí absolut. Per trobar-lo, heu d'accedir al servidor per SSH i executar el següent:
$ whereis python3
python3: /usr/bin/python3
Afegir una tasca per executar fitxers NodeJS
Per afegir una tasca que executi un fitxer NodeJS, heu d'introduir el següent:
Trobar el camí absolut de l'ordre
Recordeu que l'ordre per executar un script NodeJS és node, però cal utilitzar-ne el camí absolut. Per trobar-lo, heu d'accedir al servidor per SSH i executar el següent:
$ whereis node
node: /usr/bin/node
Comprovar que la tasca s'executa correctament
Per comprovar que la tasca s'executa correctament, heu d'accedir al servidor per SSH i revisar el fitxer de registre /var/log/syslog.
Per comprovar si la tasca s'executa correctament, heu de filtrar el registre amb l'ordre grep fent servir diferents paraules clau.
Per exemple, podeu cercar l'usuari que l'executa (que és l'usuari de HestiaCP):
grep CRON /var/log/syslog | grep adminO cercar el nom del fitxer:
grep crontab.php /var/log/syslogAquestes dues ordres haurien de mostrar una sortida semblant a aquesta:
Jul 11 11:18:01 hestia CRON[76648]: (admin) CMD (sudo /usr/local/hestia/bin/v-update-sys-queue restart)
Jul 11 11:20:01 hestia CRON[77110]: (admin) CMD (sudo /usr/local/hestia/bin/v-update-sys-queue backup)
Jul 11 11:20:01 hestia CRON[77111]: (admin) CMD (sudo /usr/local/hestia/bin/v-update-sys-queue restart)
Jul 11 11:20:01 hestia CRON[77112]: (admin) CMD (sudo /usr/local/hestia/bin/v-update-sys-rrd)
Jul 11 11:20:01 hestia CRON[77115]: (admin) CMD (/usr/bin/php8.1 /home/admin/web/laravel.com/public_html/crontab.php)
Jul 11 11:22:01 hestia CRON[77421]: (admin) CMD (sudo /usr/local/hestia/bin/v-update-sys-queue restart)
Jul 11 11:22:01 hestia CRON[77422]: (admin) CMD (/usr/bin/php8.1 /home/admin/web/laravel.com/public_html/crontab.php)
Jul 11 11:24:01 hestia CRON[77482]: (admin) CMD (sudo /usr/local/hestia/bin/v-update-sys-queue restart)
Jul 11 11:24:01 hestia CRON[77483]: (admin) CMD (/usr/bin/php8.1 /home/admin/web/laravel.com/public_html/crontab.php)