Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →
Unealtă gratuită pentru programatori

Generator expresii cron

Completezi cele cinci câmpuri sau alegi un model gata făcut și vezi explicația în română și următoarele 5 rulări ale expresiei cron.

Exemple de expresii cron

Variante gata făcute: copiază codul direct sau deschide exemplul în generator și modifică-l după nevoie.

Backup zilnic la 2 noaptea Rulează când serverul e cel mai puțin încărcat.
0 2 * * * /usr/local/bin/backup.sh
La fiecare 5 minute Pentru cozi de e-mailuri sau sincronizări.
*/5 * * * * /usr/bin/php /var/www/site/cron.php
Zilele lucrătoare la 8:30 Rapoarte trimise la începutul programului.
30 8 * * 1-5 /usr/local/bin/raport.sh
Prima zi a lunii Facturi sau arhivarea lunii trecute.
0 6 1 * * /usr/local/bin/facturi.sh
WP-Cron printr-un cron real Cu define('DISABLE_WP_CRON', true); în wp-config.php.
*/5 * * * * wget -q -O - https://www.exemplu.ro/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Sezonier: vara, sâmbăta Doar în iunie–august, sâmbăta la 10.
0 10 * 6-8 6 /usr/local/bin/promo.sh

Cum folosești generatorul de expresii cron

  1. Alege un model: în fiecare minut, orar, zilnic la miezul nopții, în zilele lucrătoare la 9, duminica, prima zi a lunii sau la fiecare 15 minute.
  2. Sau scrie direct cele cinci câmpuri: minut, oră, zi din lună, lună și zi din săptămână.
  3. Citește descrierea în română și verifică următoarele 5 rulări, apoi copiază expresia. Calculul se face în browser; nu se trimite nimic către server.

Câmpurile și caracterele speciale

┌───────── minut (0–59)
│ ┌─────── oră (0–23)
│ │ ┌───── zi din lună (1–31)
│ │ │ ┌─── lună (1–12)
│ │ │ │ ┌─ zi din săptămână (0–7, 0 și 7 = duminică)
│ │ │ │ │
0 9 * * 1-5   comanda

* înseamnă orice valoare, , separă o listă (1,15), - dă un interval (1-5), iar / un pas (*/15 = la fiecare 15 unități). Atenție: dacă restrângi atât ziua din lună, cât și ziua din săptămână, comanda rulează când se potrivește oricare dintre ele. 0 0 1 * 1 rulează pe 1 ale lunii și în fiecare luni.

Adăugarea în crontab

Deschide lista de sarcini cu crontab -e și adaugă câte o linie pentru fiecare. Orele sunt cele ale fusului orar al serverului, care poate fi UTC, nu ora României; verifică-l cu date. Folosește căi complete pentru comenzi, pentru că cron rulează cu un mediu minimal.

crontab -e
30 2 * * * /usr/bin/php /var/www/scripturi/backup.php >> /var/log/backup.log 2>&1

WP-Cron sau cron real

WordPress are propriul WP-Cron, care pornește doar când cineva vizitează site-ul. Pe un site cu puține vizite, sarcinile întârzie; pe unul aglomerat, verificarea se face la fiecare cerere. Soluția: îl dezactivezi și îl chemi dintr-un cron real.

// în wp-config.php
define('DISABLE_WP_CRON', true);

# în crontab, la fiecare 5 minute
*/5 * * * * curl -s https://exemplu.ro/wp-cron.php?doing_wp_cron > /dev/null 2>&1
# sau, cu WP-CLI
*/5 * * * * cd /var/www/site && wp cron event run --due-now > /dev/null 2>&1

Comenzile de bază găsești în Învață Linux și Învață WordPress.

Întrebări frecvente

Pot rula o sarcină la fiecare 30 de secunde?

Nu direct; cel mai mic pas este un minut. Poți pune două linii, a doua cu sleep 30; înaintea comenzii, sau poți folosi un timer systemd.

Unde văd dacă a rulat?

Redirecționează ieșirea comenzii într-un fișier de log, ca în exemplul de mai sus. Pe multe distribuții, rulările apar și în jurnalul sistemului.