Provided by: manpages-pl_0.7-2_all 

NAZWA
cron - demon do wywoływania odłożonych poleceń (Vixie Cron)
SKŁADNIA
cron [-f] [-l] [-L poziom-komunikatów]
OPIS
cron jest uruchamiany automatycznie z /etc/init.d, przy wchodzeniu w poziom pracy wielu użytkowników.
OPCJE
-f Pozostaje w trybie pierwszoplanowym, nie staje się demonem.
-l Włącza zgodność nazw plików w katalogu /etc/cron.d z LSB. To ustawienie nie wpływa jednak na
przetwarzanie plików w katalogach /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly lub
/etc/cron.monthly.
-L poziom-komunikatów
Wybiera, jakie informacje o zadaniach mają być zapisywane do dziennika (błędy są logowane
niezależnie od tej wartości). Jest to suma poniższych wartości:
1 zapisuje uruchomienie wszystkich zadań crona
2 zapisuje koniec wszystkich zadań crona
4 zapisuje wszystkie zadania zakończone niepowodzeniem (kod zakończenia różny od 0)
8 zapisuje numer procesu wszystkich zadań crona
Domyślnie zapisywane jest uruchomienie wszystkich zadań (1). Logowanie jest wyłączane, jeśli
poziom-komunikatów jest ustawiony na zero (0). Wartość równa piętnaście (15) wybierze wszystkie
opcje.
UWAGI
cron przeszukuje swój katalog spool (/var/spool/cron/crontabs) w poszukiwaniu plików crontab (które są
nazwane zgodnie z kontami w /etc/passwd); odnalezione pliki są następnie ładowane do pamięci. Proszę
zauważyć, że pliki crontab w tym katalogu nie powinny być osiągane bezpośrednio - do ich aktualizacji i
dostępu powinno być używane polecenie crontab.
cron odczytuje również /etc/crontab, które posiada nieco inny format (patrz crontab(5)). W Debianie,
zawartość /etc/crontab jest predefiniowana do uruchamiania programów w katalogach /etc/cron.hourly,
/etc/cron.daily, /etc/cron.weekly i /etc/cron.monthly. Konfiguracja ta jest charakterystyczna dla
Debiana, proszę zapoznać się z opisem w poniższym rozdziale ZMIANY ODNOSZĄCE SIĘ DO DEBIANA.
Dodatkowo, w Debianie, cron odczytuje pliki w katalogu /etc/cron.d. cron traktuje pliki w /etc/cron.d w
ten sam sposób, jak w pliku /etc/crontab (przestrzegają one specjalnego formatu tego pliku, np. zawierają
pole user). Są one jednak niezależne od /etc/crontab: nie dziedziczą np. ustawień zmiennych
środowiskowych z wspomnianego pliku. Zmiana ta jest charakterystyczna dla Debiana - patrz ZMIANY
ODNOSZĄCE SIĘ DO DEBIANA.
Podobnie jak /etc/crontab, pliki w katalogu /etc/cron.d są monitorowane w poszukiwaniu zmian. Ogólnie,
administrator systemu nie powinien używać /etc/cron.d/, lecz standardowego pliku /etc/crontab.
Plik /etc/crontab i pliki w /etc/cron.d muszą był własnością roota i nie mogą być zapisywalne dla grupy
lub innych. W odróżnieniu od katalogu spool, pliki w katalogach /etc/cron.d oraz /etc/cron.hourly,
/etc/cron.daily, /etc/cron.weekly i /etc/cron.monthly mogą być również dowiązaniami symbolicznymi pod
warunkiem, że zarówno samo dowiązanie jak i plik na który ono wskazuje, są własnością roota. Pliki w
katalogu /etc/cron.d nie muszą być wykonywalne, natomiast pliki w katalogach /etc/cron.hourly,
/etc/cron.daily, /etc/cron.weekly i /etc/cron.monthly - muszą, ponieważ są uruchamiane przez run-parts
(patrz podręcznik run-parts(8)).
Program cron budzi się co minutę, sprawdzając wszystkie pliki crontab i sprawdzając, czy poszczególne
polecenia nie muszą być wykonane w bieżącej minucie. Po wykonaniu poleceń, ich ewentualne wyjście jest
wysyłane pocztą do właściciela pliku crontab (lub do użytkownika ze zmiennej środowiskowej MAILTO z pliku
crontab, jeśli taka istnieje). Kopie potomne crona, które wykonują te procesy, mają ich nazwy zapisane
wielkimi literami, jak to widać w wyniku poleceń syslog i ps.
Dodatkowo, cron sprawdza co minutę, czy czas modyfikacji swojego katalogu spool (lub pliku /etc/crontab)
nie zmienił się, a jeśli tak się stało, to cron sprawdza czasy modyfikacji wszystkich plików crontab i
przeładowuje te z nich, które się zmieniły. Z tego powodu cron nie musi być restartowany po modyfikacji
plików crontab. Proszę zauważyć, że polecenie crontab(1) aktualizuje czas modyfikacji katalogu spool,
niezależnie od tego, czy zmodyfikował plik crontab.
Specjalnym przypadkiem jest, gdy czas zmieni się o mniej niż 3 godziny, np. na początku lub końcu
obowiązywania czasu letniego. Jeśli czas przesuwa się do przodu, to zadania, które byłyby uruchomione w
czasie, który został przesunięty, są uruchamiane zaraz po wystąpieniu zmiany. I na odwrót - jeśli czas
przesunie się do tyłu o mniej niż 3 godziny, to zadania, które przypadają w powtórzonym czasie, nie będą
uruchamiane ponownie.
Tyczy się to wyłącznie zadań wykonywanych w określonym czasie (niepodanych jako @hourly, ani nie
używających "*" jako określenia godziny lub minuty). Zadania, które są podawane z wieloznacznikiem, są
uruchamiane od razu na podstawie nowego czasu.
Zmiany zegara o więcej niż 3 godziny, są uważane za poprawki zegara i od razu używany jest nowy czas.
Program cron zapisuje swoje działania do właściwości "cron" sysloga, a logowanie może być kontrolowane
przy użyciu standardowej właściwości syslogd(8).
ŚRODOWISKO
Jeśli zmienne środowiskowe lokalizacji (regionalne) w systemie Debian, w katalogu /etc/default/cron,
zostaną skonfigurowane, to można nimi zarządzać używając /etc/environment albo za pomocą
/etc/default/locale, przy czym wartości z drugiego pliku przesłaniają te z pierwszego. Pliki te są
odczytywane i są używane do ustawienia zmiennych środowiskowych LANG, LC_ALL i LC_CTYPE. Zmienne te są
używane do ustawienia kodowania poczty elektronicznej, przy czym domyślnie wynosi ono "C".
NIE wpływa to na środowisko zadań uruchamianych przez cron. Więcej informacji o modyfikowaniu środowiska
zadań zawiera strona podręcznika crontab(5).
Demon będzie używał, jeśli jest obecna, definicji strefy czasowej z pliku /etc/timezone.
Środowisko może zostać przefediniowane przez definicje z plików crontab użytkownika, lecz cron obsługuje
wykonywanie zadań jedynie w pojedynczej strefie czasowej.
ZMIANY ODNOSZĄCE SIĘ DO DEBIANA
Debian wprowadził pewne zmiany do crona, które nie były dostępne w oryginale. Najważniejsze zmiany to:
— obsługa /etc/cron.{hourly,daily,weekly,monthly} poprzez /etc/crontab,
— obsługa /etc/cron.d (katalog do umieszczania plików crontab pakietów),
— obsługa PAM,
— obsługa SELinux,
— obsługa auditlog,
— obsługa DST (czasu letniego) i inne zmiany/poprawki w stosunku do czasu,
— SGID crontab(1) zamiast SUID root,
— debianowe położenia plików i polecenia,
— debianowa konfiguracja (/etc/default/cron),
— wiele innych mniejszych funkcji i poprawek.
Obsługa /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly i /etc/cron.monthly w Debianie jest
zapewniona przez domyślne ustawienia w pliku /etc/crontab (patrz systemowy przykład w crontab(5)).
Domyślny, ogólnosystemowy plik crontab zawiera cztery zadania, uruchamiane: cogodzinnie, codziennie,
cotygodniowo i comiesięcznie. Każde z tych zadań wykona run-parts, podając każdy z tych katalogów jako
argument. Zadania są wyłączane, jeśli zainstalowany jest anacron (z wyjątkiem zadań cogodzinnych) aby
zapobiec konfliktom pomiędzy oboma demonami.
Jak opisano powyżej, pliki w tych katalogach muszą spełniać kilka warunków, w tym następujące: bycie
wykonywalnym, bycie własnością roota, nie mogą być zapisywalne dla grupy lub innych i, jeśli są
dowiązaniami symbolicznymi, muszą wskazywać na pliki będące własnością roota. Dodatkowo, nazwy plików
muszą spełniać warunki nazw plików programu run-parts: muszą składać się wyłącznie z liter, cyfr i znaków
podkreślenia ("_") oraz minusa ("-"). Każdy plik, który nie spełni powyższych wymagań, nie będzie
wykonany przez run-parts. Na przykład wszystkie pliki zawierające kropkę, zostaną zignorowane. Celem
takiej konfiguracji jest zapobiegnięcie wykonywania przez crona plików, które zostały pozostawione przez
debianowy system zarządzania pakietami, podczas obsługi plików w /etc/cron.d/, jako plików
konfiguracyjnych (chodzi tu o pliki kończące się na .dpkg-dist, .dpkg-orig i .dpkg-new).
Funkcja ta może zostać użyta przez administratorów systemu i pakiety, do zdefiniowania zadań, które mają
być uruchamiane w zdefiniowanych interwałach. Pliki tworzone przez pakiety w tych katalogach, powinny być
nazywane tak samo, jak dostarczający je pakiet.
Obsługa /etc/cron.d jest dołączona do samego demona cron, który obsługuje ich położenie za pomocą
ogólnosystemowego spool crontab. Katalog ten może zawierać każdy plik definiujący zadania,
przestrzegający formatu z /etc/crontab - w przeciwieństwie do katalogu spool crona, pliki te muszą
zawierać nazwę użytkownika, aby uruchamiać zadania jako definicje zadań.
Pliki w tym katalogu muszą być własnością roota, lecz nie muszą być wykonywalne (są to pliki
konfiguracyjne, jak /etc/crontab) i muszą przestrzegać tej samej konwencji nazw, jaka jest używana przez
run-parts(8): muszą składać się wyłącznie z wielkich i małych liter, cyfr, podkreślników i minusów.
Oznacza to, że nie mogą zawierać kropek. Jeśli użyto opcji -l (opcja ta może zostać skonfigurowana za
pomocą /etc/default/cron - patrz niżej), to nazwy plików muszą być zgodne z specyfikacją przestrzeni nazw
LSB, identycznie jak opcja --lsbsysinit w run-parts.
Przeznaczeniem tej funkcji było umożliwienie pakietom, wymagającym dokładniejszej kontroli harmonogramu
niż /etc/cron.{hourly,daily,weekly,monthly}, dodawania swoich plików crontab do /etc/cron.d. Pliki te
powinny być nazwane tak samo, jak udostępniający je pakiet.
Domyślna konfiguracja crona jest kontrolowana przez plik /etc/default/cron, który jest odczytywany przez
skrypt init.d, uruchamiający demona cron. Plik ten określa, czy cron będzie czytał systemowe zmienne
środowiskowe oraz umożliwia dodawanie dodatkowych opcji do programu cron, przed jego wykonaniem -
umożliwiając konfigurację zapisywanego dziennika lub definiowanie sposobu traktowania plików w katalogu
/etc/cron.d.
ZOBACZ TAKŻE
crontab(1), crontab(5), run-parts(8)
AUTOR
Paul Vixie <paul@vix.com> jest autorem crona i pierwotnym twórcą tej strony podręcznika systemowego.
Niniejsza strona została również zmodyfikowana do Debiana przez Steve'a Greenlanda, Javiera
Fernandez-Sanguino i Christiana Kastnera.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM)
<pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.0pl1 oryginału.
4th Berkeley Distribution 19 kwietnia 2010 CRON(8)