Tasques programades: que alguna cosa s’executi només

Què aconsegueixes: una ordre que s’executa sola cada cert temps —una neteja, una còpia, el cron de WordPress — sense que hagis d’acordar-te.

Abans de començar

Té clar quin ordre Vols executar i cada quant. Si l’ordre no funciona quan l’escrius tu a mà per SSH, tampoc funcionarà programada: prova-la abans (Entrar per SSH al teu lloc).

Passos

  1. Menú Llocs → Tasques programades.

  2. Tasca nova.

  3. Ordre — el que s’executa. Rutes completes, sempre: una tasca programada no té el mateix entorn que el teu terminal.

  4. Quan — 5 caselles: minut, hora, dia, mes i dia de la setmana.: «»» és «cada». Per exemple, /5 * * * * és cada 5 minuts i 0 2 * * * es cada dia a las 2:00».

  5. Descripció — En sis mesos no et recordaràs de per què era.

  6. Crea la tasca.

Les tasques es poden pausa i activa des de la seva fila, sense esborrar-les.

Hores que convé escollir

No posis tot a les 0:00 ni a les 3:00 en punt: és l’hora a la qual ho posa tothom. Un minut estrany —les 3:17, per exemple — va igual de bé i es creua amb menys coses.

I no posis cada minut el que no el necessita. Una tasca pesada cada minut es trepitja a si mateixa: arrenca la següent abans que acabi l’anterior.

Com saps que ha sortit bé

No esperis a demà. Posa la tasca cada 5 minuts temporalment (*/5 * * * *), Espera que passi una vegada, comprova que ha fet el seu —el fitxer que crea, la fila que elimina — i llavors posa-li l’horari de veritat.

Problemes habituals

«L’horari no és vàlid»

El missatge és: usa números, l’asterisc, rangs com 1-5 o passos com */15. Gairebé sempre és un espai de més o una coma on anava un guió. són cinc caselles, ni quatre ni sis.

«Escriu l’ordre a executar»

El camp de l’ordre està buit. És el que diu què s’executa, no la descripció.

La tasca no fa res i a mà sí funciona

És el cas més comú i gairebé sempre són les rutes. Escriu rutes completes per al programa i per als fitxers, perquè una tasca programada no arrenca des de la teva carpeta ni coneix les teves dreceres.

El cron de WordPress no es dispara si ningú entra a la web

Això és així per disseny: el cron de WordPress s’activa amb les visites. Si el teu web té poc tràfic, programa aquí una tasca que cridi a wp-cron.php cada 15 minuts i desactiva el cron intern.

Em arriben correus cada vegada que s’executa

Una tasca programada envia per correu el que escriu en pantalla. Si no vols aquests avisos, envia la sortida a un fitxer de registre en comptes de deixar-la solta.

La tasca tarda més del que dura el seu interval

Acabaràs amb diverses còpies alhora que es barallen. Espàcia l’interval, o fes que la pròpia ordre comprovi si ja n’hi ha una altra en marxa abans de començar.

Vull aturar-la un parell de dies sense perdre la configuració

Usa «Paussar» en la seva fila. Es queda desada i la tornes a activar quan vulguis.

Necessito que s’executi l’últim dia de cada mes

No hi ha cap casella per a això. Prova-la cada dia i la mateixa ordre comprova si demà és dia 1; és la forma de sempre i funciona en tots els mesos.