Skip to Content
🇨🇿Cron úlohy

Cron úlohy

Plánujte automatizované úlohy pro vaše webové aplikace. Pravidelné spouštění skriptů, čištění cache, odesílání e-mailů a další.


Přehled

FunkcePodrobnosti
SyntaxeStandardní cron formát
Minutová přesnostKaždou minutu až jednou za rok
ProtokolováníVýstup do logu
E-mailNotifikace při chybě
Povolení/zakázáníAno

Formát cron

Základní syntaxe

* * * * * příkaz │ │ │ │ │ │ │ │ │ └── Den v týdnu (0-7, 0 a 7 = Neděle) │ │ │ └──── Měsíc (1-12) │ │ └────── Den v měsíci (1-31) │ └──────── Hodina (0-23) └─────────── Minuta (0-59)

Příklady

CronVýznam
* * * * *Každou minutu
0 * * * *Každou hodinu
0 0 * * *Každý den o půlnoci
0 2 * * *Každý den ve 2:00
0 0 * * 0Každou neděli o půlnoci
0 0 1 * *Prvního dne každého měsíce
*/15 * * * *Každých 15 minut
0 9-17 * * *Každou hodinu 9:00-17:00

Vytvoření cron úlohy

Krok 1 — Otevřete sekci Cron

  1. Přihlaste se do CoreSynth Dashboard 
  2. Přejděte na Web Hosting
  3. Vyberte váš hostingový balíček
  4. Klikněte na Cron v postranním menu

Krok 2 — Nová úloha

  1. Klikněte na Vytvořit úlohu
  2. Vyplňte:
PolePopis
Minuta0-59 nebo *
Hodina0-23 nebo *
Den v měsíci1-31 nebo *
Měsíc1-12 nebo *
Den v týdnu0-7 nebo *
PříkazCesta ke skriptu
  1. Klikněte na Vytvořit

Příklady příkazů

# PHP skript /usr/bin/php /home/user/domains/example.com/public_html/cron.php # PHP skript s parametry /usr/bin/php /home/user/domains/example.com/public_html/cron.php --task=cleanup # Wget pro HTTP volání /usr/bin/wget -q -O /dev/null https://example.com/cron.php # Curl pro HTTP volání /usr/bin/curl -s https://example.com/cron.php > /dev/null # Skript v domovském adresáři /home/user/scripts/backup.sh

Tip: Používejte absolutní cesty pro spolehlivost.


Správa úloh

Povolení/zakázání úlohy

  1. V seznamu úloh klikněte na Povolit nebo Zakázat
  2. Zakázaná úloha se nespustí, ale zůstane v seznamu

Úprava úlohy

  1. V seznamu úloh klikněte na Upravit
  2. Změňte čas nebo příkaz
  3. Klikněte na Uložit

Smazání úlohy

  1. V seznamu úloh klikněte na Smazat
  2. Potvrďte smazání

Časté použití

WordPress Cron

# WordPress scheduled tasks */5 * * * * /usr/bin/php /home/user/domains/example.com/public_html/wp-cron.php

Doporučení: V WordPress nastavte define('DISABLE_WP_CRON', true); v wp-config.php.

Laravel Scheduler

# Laravel scheduler * * * * * /usr/bin/php /home/user/domains/example.com/public_html/artisan schedule:run >> /dev/null 2>&1

Čištění cache

# Clear Laravel cache daily 0 3 * * * /usr/bin/php /home/user/domains/example.com/public_html/artisan cache:clear

Zálohy databáze

# MySQL backup daily 0 2 * * * /usr/bin/mysqldump -u user -p'password' database > /home/user/backups/db_$(date +\%Y\%m\%d).sql

Odesílání e-mailů

# Send newsletter weekly 0 9 * * 1 /usr/bin/php /home/user/domains/example.com/public_html/send-newsletter.php

Protokolování

Výstup do logu

# Output to log file * * * * * /usr/bin/php /home/user/script.php >> /home/user/logs/cron.log 2>&1

Logování pouze chyb

# Log only errors * * * * * /usr/bin/php /home/user/script.php > /dev/null 2>> /home/user/logs/cron-error.log

Potlačení výstupu

# Suppress all output * * * * * /usr/bin/php /home/user/script.php > /dev/null 2>&1

Řešení problémů

Úloha se nespouští

Příčina: Špatný čas nebo zakázáno.

Řešení:

  1. Zkontrolujte, zda je úloha povolena
  2. Zkontrolujte čas (minuta, hodina, atd.)
  3. Zkontrolujte log výstup

Chyba “Command not found”

Příčina: Špatná cesta k příkazu.

Řešení:

  1. Použijte absolutní cestu: /usr/bin/php místo php
  2. Zjistěte cestu: which php
  3. Použijte nalezenou cestu

Chyba “Permission denied”

Příčina: Skript nemá oprávnění ke spuštění.

Řešení:

  1. Nastavte oprávnění: chmod +x script.sh
  2. Pro PHP skripty použijte php /path/to/script.php
  3. Zkontrolujte vlastníka souboru

Skript funguje ručně ne v cron

Příčina: Rozdílné prostředí.

Řešení:

  1. Nastavte PATH v crontab:
    PATH=/usr/local/bin:/usr/bin:/bin
  2. Používejte absolutní cesty
  3. Nastavte pracovní adresář:
    cd /home/user/domains/example.com/public_html && /usr/bin/php script.php

Bezpečnostní doporučení

  • Používejte absolutní cesty
  • Protokolujte chyby do logů
  • Nastavujte rozumné intervaly (ne každou minutu)
  • Zamykejte citlivé skripty
  • Používejte .htaccess pro HTTP crony:
    <Files "cron.php"> Order Allow,Deny Allow from localhost Deny from all </Files>

Další kroky


Potřebujete pomoc? Otevřete support ticket  nebo se zeptejte Alexe.

Last updated on