Aby planować zadania za pomocą cron w systemie Ubuntu, należy przeanalizować kilka kluczowych zagadnień: zasadę działania crona, składnię, uprawnienia, podstawowe polecenia oraz przykłady i najlepsze praktyki. Oto kompletny poradnik krok po kroku, który możesz opublikować na stronie poświęconej Linuksowi:
1. Co to jest cron i do czego służy?
Cron to systemowy demon pozwalający na automatyczne uruchamianie poleceń lub skryptów w zadanych odstępach czasu. Umożliwia automatyzację zadań takich jak kopie zapasowe, aktualizacje, czyszczenie katalogów czy synchronizacja danych.
2. Składnia zadań w cronie (cron expression)
Wpisy w cron definiują precyzyjnie, kiedy dane polecenie ma się wykonać. Podstawowa składnia –
* * * * * /ścieżka/do/komendy_lub_skryptu - - - - - | | | | | | | | | +---- dzień tygodnia (0-7; 0 lub 7 = niedziela) | | | +------ miesiąc (1-12) | | +-------- dzień miesiąca (1-31) | +---------- godzina (0-23) +------------ minuta (0-59) 
Najczęściej stosuje się cyfry lub znak * (oznaczający „zawsze”). Przykład – polecenie uruchamiane codziennie o 3:00:
0 3 * * * /home/user/backup.sh 
3. Edycja zadań crona (crontab)
Każdy użytkownik ma własny plik crontab.
- Edytuj crontab swojego użytkownika –
 
 crontab -e 
- Wyświetl swoje zadania cron –
 
 crontab -l 
- Usuń cały swój crontab –
 
 crontab -r 
Przy pierwszym wywołaniu crontab -e, możesz zostać poproszony o wybór edytora tekstu np. nano lub vim.
4. Planowanie zadań dla innego użytkownika lub na poziomie systemu
- Jako administrator możesz edytować crontab konkretnego użytkownika:
 
 sudo crontab -u NAZWA_UŻYTKOWNIKA -e 
- Crontab globalny (systemowy) znajduje się w –
 
 /etc/crontab 
W tym pliku szóstym polem jest NAZWA UŻYTKOWNIKA, pod którym zadanie się wykona:
 0 1 * * * root /usr/local/bin/system_maintenance.sh 
- Alternatywnie możesz dodać nowe pliki do katalogu 
/etc/cron.d/ze składnią jak powyżej. 
5. Gotowe interwały – katalogi cron.hourly / cron.daily / cron.weekly / cron.monthly
Zamiast wpisywać własne wyrażenia cron, możesz umieścić skrypt w jednym z katalogów:
/etc/cron.hourly//etc/cron.daily//etc/cron.weekly//etc/cron.monthly/
Skrypt zostanie uruchomiony z odpowiednią częstotliwością. Pamiętaj, aby ustawić mu prawa do wykonywania –
sudo chmod +x /etc/cron.daily/moj_skrypt.sh 
6. Przykłady najczęstszych zadań
| Częstotliwość | Wyrażenie cron | Opis | 
|---|---|---|
| Co minutę | * * * * * | 
Uruchom polecenie co minutę | 
| Codziennie o 2:30 | 30 2 * * * | 
Każdego dnia o 2:30 | 
| Co poniedziałek o 5:00 | 0 5 * * 1 | 
W każdy poniedziałek o 5:00 | 
| Pierwszego dnia miesiąca o 0:00 | 0 0 1 * * | 
Na początek każdego miesiąca | 
| Co 15 minut | */15 * * * * | 
Co 15 minut | 
7. Najczęstsze błędy i dobre praktyki
- Używaj pełnych ścieżek do skryptów i programów (np. 
/usr/bin/python3,/home/user/skrypt.sh). - Zmienna środowiskowa PATH w cron jest ograniczona – jeśli twój skrypt nie działa, dodaj na początku wpisu np.:
 
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
- Upewnij się, że skrypt jest wykonywalny (
chmod +x skrypt.sh). - Przekierowuj wyjście i błędy do pliku logu –
 
 0 3 * * * /home/user/backup.sh >> /home/user/cronlog.txt 2>&1 
- Testuj wpisy poleceń ręcznie, zanim zautomatyzujesz je cronem.
 - Zmiany w katalogach /etc/cron.* wymagają uprawnień administratora.
 
8. Zarządzanie uprawnieniami do używania crona
W Ubuntu domyślnie każdy użytkownik może korzystać z crona, o ile nie utworzono plików /etc/cron.allow lub /etc/cron.deny. Ich obecność umożliwia ograniczenie dostępu do crona konkretnej grupie użytkowników.
Podsumowanie
Korzystając z powyższych instrukcji, zautomatyzujesz praktycznie każde powtarzalne zadanie w Ubuntu. Odpowiednia konfiguracja cron zwiększa bezpieczeństwo, wydajność i niezawodność twojego systemu.
Źródła –
 Wszystkie instrukcje oraz przykłady bazują na oficjalnej dokumentacji Ubuntu i sprawdzonych przewodnikach społeczności Linuksa.





