Přidání příkazu plánovače Laravel do Crontab v Ubuntu

Jak přidat příkaz plánovače Laravel do Crontabu (v Ubuntu) Při vytváření aplikací Laravel je mnoho úloh na pozadí (např. úklidové úlohy, odesílání e-mailů ve frontě, opakující se...

Poptat web

25. 09. 2025

Přidání příkazu plánovače Laravel do Crontab v Ubuntu

Jak přidat příkaz plánovače Laravel do Crontabu (v Ubuntu)

Při vytváření aplikací Laravel je mnoho úloh na pozadí (např. úklidové úlohy, odesílání e-mailů ve frontě, opakující se zprávy) nejlépe spravovat pomocí integrovaného plánovače Laravel. Aby se však plánovač spouštěl automaticky, je třeba jej připojit k systémovému cronu na serveru. V tomto příspěvku vám ukážu, jak to udělat v Ubuntu.

Předpoklady a předpoklady

Než budete pokračovat, tato příručka předpokládá:

  • V Ubuntu již máte funkční projekt Laravel (např. v systému /var/www/… nebo nějaký adresář).
  • Máte přístup k shellu / SSH s příkazem sudo (nebo alespoň dostatečná práva k úpravě crontab pro uživatele).
  • cron služba je nainstalována nebo může být nainstalována.
  • PHP CLI je přístupné z příkazového řádku (např. php pracuje).

Krok 1: Aktualizace a (v případě potřeby) instalace cronu

Je dobré se ujistit, že je váš systém aktuální, a ověřit, zda je nainstalován a spuštěn cron.

sudo apt-get update
sudo apt-get upgrade

Pak nainstalujte cron, pokud ještě není nainstalován:

sudo apt-get install cron

Po instalaci zkontrolujte stav:

systemctl status cron

Mělo by se zobrazit něco jako "active (running)". Pokud není spuštěn, můžete jej spustit:

sudo systemctl enable cron
sudo systemctl start cron

Krok 2: Úprava crontabu

Chcete-li naplánovat plánovač Laravel, přidáte položku cronu, která se spustí každou minutu. Obvykle se systému nemusíte dotýkat. /etc/crontab (pokud nejste root nebo nespravujete mnoho uživatelů). Místo toho upravte crontab pro příslušného uživatele (často stejného uživatele, pod kterým běží váš webový server nebo aplikace).

Spusťte:

crontab -e

Pokud to děláte poprvé, může vás to vyzvat k výběru editoru (např. nano, vim atd.).

Do souboru crontab přidejte tento řádek:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Ujistěte se, že jste vyměnili /path-to-your-project s vaší skutečnou cestou (například, /var/www/html/your-laravel-app).

Po úpravách uložte a ukončete. Cron změnu automaticky převezme.

Nejčastější nástrahy a tipy

Vydání Popis / Oprava
Špatná cesta If cd ukazuje na neexistující adresář, funkce cron tiše selže. Dvakrát zkontrolujte absolutní cestu.
Špatná binární verze PHP Někdy se verze PHP v CLI liší nebo není v $PATH. Použijte úplnou cestu (např. /usr/bin/php).
Oprávnění a vlastnictví Ujistěte se, že uživatel, jehož crontab upravujete, má oprávnění ke spouštění příkazů a přístupu k souborům projektu.
Výstupní záplavy / e-maily Bez přesměrování výstupu může cron při každém spuštění odeslat e-mail. Proto používáme >> /dev/null 2>&1.
Vícenásobné položky crontab Pokud již máte pro stejného uživatele vytvořený cron, ujistěte se, že tento nový řádek není v rozporu s ním.

Závěr

Integrace plánovače Laravel se systémovým cronem je jednoduchý, ale zásadní krok. Po jeho konfiguraci může vaše aplikace spolehlivě spouštět naplánované úlohy bez ručního zásahu. Stačí:

  1. Instalace/ověřování cronu v Ubuntu
  2. Přidání položky cronu (prostřednictvím crontab -e) spustit php artisan schedule:run každou minutu
  3. Ověřte, zda vše funguje

Původní článek publikoval Nabil Hassen.