Powrót do bloga
Maj 23, 2026Poradniki

Jak skonfigurować zadania cron na serwerze Linux

Składnia cron, edycja crontab, przykłady harmonogramu i logowanie na VPS.

Jak skonfigurować zadania cron na serwerze Linux

Cron to standardowy harmonogram Linux do uruchamiania skryptów według planu: kopie zapasowe, czyszczenie cache, sprawdzanie certyfikatów. Poradnik po cron na serwerze Hiddence.

Składnia cron

Każda linia ma pięć pól czasu i polecenie:

bash
# ┌──────── minute (0-59)
# │ ┌────── hour (0-23)
# │ │ ┌──── day of month (1-31)
# │ │ │ ┌── month (1-12)
# │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
# │ │ │ │ │
# * * * * * command

# Every day at 3:00 AM:
0 3 * * * /usr/local/bin/backup.sh

# Every 15 minutes:
*/15 * * * * /usr/local/bin/check.sh

Edycja crontab

crontab -e dla bieżącego użytkownika. Zadania systemowe — przez root:

bash
# Edit your user crontab
crontab -e

# Edit root crontab
sudo crontab -e

# List current jobs
crontab -l
sudo crontab -l

Częste przykłady

  • 0 2 * * * — codzienna kopia zapasowa o 2:00
  • 0 */6 * * * — co 6 godzin
  • 0 0 * * 0 — każda niedziela o północy
  • */5 * * * * — co 5 minut (ostrożnie z obciążeniem)
  • @reboot /path/script.sh — po restarcie serwera
  • @daily /usr/bin/certbot renew --quiet — codzienne odnowienie SSL

Logi i debugowanie

Przekieruj wyjście do pliku, aby widzieć błędy:

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# View cron execution in system log:
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

Wskazówki

  • Używaj bezwzględnych ścieżek w poleceniach cron
  • Testuj skrypt ręcznie przed dodaniem do crontab
  • MAILTO=email w crontab dla powiadomień o błędach
  • Dla złożonych scenariuszy rozważ systemd timers
  • Nie uruchamiaj ciężkich zadań co minutę