Cron to harmonogram zadań w systemach Unix/Linux. Wyrażenie cron określa, kiedy i jak często wykonywać polecenie. Przeanalizujmy składnię i najczęstsze przykłady.
Format wyrażenia cron
* * * * * команда
| | | | |
| | | | +-- день тижня (0-7, 0 і 7 = неділя)
| | | +---- місяць (1-12)
| | +------ день місяця (1-31)
| +-------- година (0-23)
+---------- хвилина (0-59)
Znaki specjalne
*— dowolna wartość,— lista wartości:1,3,5-- zakres:1-5/- krok:*/15= co 15 jednostek
Popularne przykłady
| Wyrażenie | Opis |
|---|---|
* * * * * | Co minutę |
0 * * * * | Co godzinę |
0 0 * * * | Codziennie o północy |
0 9 * * 1-5 | Poniedziałek-piątek o godzinie 9:00 |
0 0 1 * * | pierwszego dnia każdego miesiąca |
*/5 * * * * | Co 5 minut |
0 */2 * * * | Co 2 godziny |
30 4 * * 0 | W każdą niedzielę o 4:30 |
Online analizator Cron
Użyj tegoAnalizator Cron Xuveroaby przetestować wyrażenia cron. Narzędzie pokaże czytelny dla człowieka opis oraz kolejne daty realizacji.
Cron w różnych systemach
Crontab dla Linuksa
# Відкрити редактор crontab
crontab -e
# Бекап БД щодня о 3:00
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
Harmonogram Laravel
$schedule->command('emails:send')
->dailyAt('09:00')
->timezone('Europe/Kyiv');
Typowe błędy
- Zapomniałem PATH- cron ma minimalne środowisko, podaj pełne ścieżki
- Brak przekierowania wyjścia— będziesz otrzymywać spam e-mailowy bez przekierowań
- Strefa czasowa- cron wykorzystuje czas systemowy
- Prawa dostępu— skrypt musi być wykonywalny (
chmod +x)