Zadania cron na VPS: konfiguracja

Zadania cron (cronjoby) to zaplanowane polecenia, które VPS wykonuje automatycznie o określonych porach. Dzięki nim możesz tworzyć kopie zapasowe, czyścić pliki logów, aktualizować oprogramowanie lub regularnie uruchamiać własne skrypty bez ręcznej interwencji.

Otwieranie i edycja crontab

Połącz się z VPS przez SSH i otwórz edytor crontab komendą:

crontab -e

Przy pierwszym uruchomieniu system zapyta o wybór edytora. Wybierz nano, jeśli nie masz preferencji. W edytorze zobaczysz istniejące zadania lub pusty plik, do którego możesz dodawać nowe wpisy.

Składnia zadania cron

Każda linia w crontab ma następujący schemat:

Minuta Godzina Dzień Miesiąc DzieńTygodnia Polecenie

Kilka przykładów:

  • 0 3 * * * /root/backup.sh: uruchamia skrypt kopii zapasowej codziennie o 03:00.
  • */15 * * * * /usr/bin/php /var/www/cron.php: uruchamia skrypt PHP co 15 minut.
  • 0 0 * * 0 apt update && apt upgrade -y: przeprowadza aktualizację systemu w każdą niedzielę o północy.
  • 30 2 1 * * /root/miesiecznie.sh: uruchamia skrypt pierwszego dnia każdego miesiąca o 02:30.

Gwiazdka (*) oznacza każdą wartość. Zapis * * * * * odpowiada każdej minucie. Użyj */5, aby uruchamiać polecenie co pięć jednostek.

Zapisywanie wyjścia do pliku logów

Domyślnie cron wysyła wyjście pocztą do użytkownika systemowego. Jeśli na VPS nie jest skonfigurowany serwer poczty, lepiej przekierować wyjście do pliku logów:

0 3 * * * /root/backup.sh >> /var/log/backup.log 2>&1

Dzięki temu możesz później sprawdzić, czy zadanie zakończyło się pomyślnie. Plik logów rośnie z czasem, więc regularnie go czyść lub skonfiguruj logrotate do automatycznej rotacji.

Najczęstsze błędy

Zawsze podawaj pełną ścieżkę do programów i skryptów. Zadanie cron działa w minimalnym środowisku i nie zna tego samego PATH co Twoja powłoka. Sprawdź ścieżkę programu komendą which nazwaprogramu. Upewnij się też, że skrypt ma uprawnienia do wykonywania: chmod +x /root/backup.sh. Przetestuj polecenie ręcznie w powłoce, zanim dodasz je do crontab.

Jak sprawdzić, czy moje zadanie cron działa?

Wyświetl aktywne zadania komendą crontab -l. Sprawdź plik logów, który podałeś w przekierowaniu wyjścia. Możesz też przeszukać log systemowy komendą grep CRON /var/log/syslog.

Czy mogę tworzyć zadania cron dla innego użytkownika?

Tak, komendą crontab -u nazwauzytkownika -e edytujesz crontab innego użytkownika systemowego. Wymaga to uprawnień root. Każdy użytkownik ma własny plik crontab.

Co się stanie, jeśli VPS jest wyłączony w zaplanowanym momencie?

Zadanie nie zostanie wykonane z opóźnieniem. Jeśli VPS jest nieaktywny w zaplanowanym czasie, wykonanie jest po prostu pomijane. Dla krytycznych zadań, które muszą być nadrobione, możesz użyć anacron jako alternatywy.

Potrzebujesz własnego VPS? Sprawdź nasze pakiety hostingu VPS.


Nadal masz problem? Otwórz zgłoszenie do supportu, nasz zespół chętnie pomoże.

Powrót do bazy wiedzy