CRONTAB(1)

NAZWA
crontab - zarządzanie plikami crontab należącymi do użytkowników

SKŁADNIA
crontab [-u użytkownik] <plik | ->
crontab [-T] <plik | ->
crontab [-u użytkownik] <-l | -r | -e> [-i] [-s]
crontab -n [ nazwa hosta ]
crontab -c
crontab -V

OPIS
Crontab jest programem służącym do instalacji, usuwania lub przeglądania zawartości istniejących już tabel używanych przez demon cron(8). Każdy użytkownik może posiadać własną tabelę i chociaż tabele cron są plikami przechowywanymi w katalogu /var/spool/, nie powinny być bezpośrednio modyfikowane. Dla SELinuxa w trybie MLS, można zdecydować więcej tabel dla każdego zakresu. Więcej informacji w selinux(8).

W tej wersji crona istnieje możliwość używania zamontowanego po sieci var/spool/cron dzielonego pomiędzy grupą hostów oraz sprecyzowanie, że tylko jeden z nich powinien wykonywać zadania z określonego katalogu w danym czasie. Można również używać crontab z każdego z tych hostów, by edytować dzielone pliki tabel crontab oraz by ustawić, lub odpytać, który host powinien uruchamiać zadania.

Planowanie zadań cron za pomocą crontab może być dozwolone lub zabronione dla poszczególnych użytkowników. Do tego celu, służą pliki cron.allow oraz cron.deny. Jeśli plik cron.allow istnieje, użytkownik musi się w nim znaleźć by móc korzystać z crontaba. Jeśli plik cron.allow nie istnieje, za to plik cron.deny istnieje, użytkownik nie może się w nim znajdować by móc korzystać z crontaba. Jeśli żaden z tych plików nie istnieje, wtedy tylko super użytkownik (root) jest w stanie korzystać z crontaba.

Kolejną metodą zarządzania dostępem do harmonogramu zadań crona spoza crontaba jest użycie uwierzytelniania PAM w /etc/security/access.conf, by skonfigurować którzy użytkownicy mogą, a którzy nie mogą korzystać z crontaba bądź modyfikować systemowe zadania crona w katalogu /etc/cron.d/.

Katalog tymczasowy może zostać skonfigurowany w zmiennej środowiskowej. Jeśli nie jest skonfigurowana przez użytkownika,zostaje użyty /tmp.

Przy wyświetlaniu zawartości na terminalu wyjście będzie pokolorowane, chyba że ustawiono zmienną środowiskową NO_COLOR.

Przy edytowaniu lub usuwaniu crontab, kopia jego ostatniej zawartości zostanie zachowana jako $XDG_CACHE_HOME/crontab/crontab.bak lub $XDG_CACHE_HOME/crontab/crontab.<użytkownik>.bak jeśli podano -u. Jeśli zmienna środowiskowa XDG_CACHE_HOME nie jest ustawiona, zastąpi ją ścieżka $HOME/.cache.

OPCJE

-u  Określa użytkownika, którego tabele cron mają być modyfikowane. Jeżeli ta opcja nie jest podana, crontab korzysta z tabel należących do użytkownika uruchamiającego program. Jeśli dany użytkownik nie ma tabeli cron, zostaje ona utworzona z pierwszym uruchomieniem komendy crontab -u dla danego użytkownika.

-T  Testuje składnię pliku crontab bez instalowania go. Po odnalezieniu błędu walidacja jest przerywana, dlatego przy jednokrotnym uruchomieniu nie znajdzie się w ten sposób wszystkich problemów.

-l  Wypisuje obecną zawartość tabeli crontab na standardowe wyjście.

-r  Usuwa obecną tabelę crontab.

-e  Modyfikuje bieżącą tabelę przy pomocy edytora określonego w zmiennej środowiskowej VISUAL lub EDITOR. Po opuszczeniu edytora zmodyfikowana tabela zostanie automatycznie zainstalowana.

-i  Ta opcja modyfikuje opcję -r, aby zapytać użytkownika o odpowiedź "y/Y", przed rzeczywistym usunięciem pliku crontab.

-s  Nadpisuje obecny łańcuch kontekstu bezpieczeństwa SELinuxa przez ustawienie MLS_LEVEL na pliku crontab przed edycją / zamianą - więcej w dokumentacji MLS_LEVEL w crontab(5).

-n  Ta opcja ma znaczenie tylko jeśli cron(8) został uruchomiony z opcją -c, by aktywować wsparcie grupowania. Jest ona używana by ustawić hosta w grupie, który powinien uruchamiać zadania określone w tabelach crontab w katalogu /var/spool/cron. Jeśli podano nazwę hosta, host którego nazwa zwrócona przez gethostname(2) zgadza się z tą podaną, zostanie wybrany by uruchamiać kolejne wybrane zadania crona. Jeśli nie ma hosta w grupie pasującego do podanej nazwy, lub celowo zostanie podana pusta nazwa hosta, wtedy wybrane zadania nie zostaną uruchomione wcale. Jeśli nazwa hosta zostanie pominięta, zostaje użyta lokalna nazwa hosta zwrócona przez gethostname(2). Użycie tej opcji nie ma wpływu na plik /etc/crontab oraz pliki w katalogu /etc/crontab.d, które są zawsze uruchamiane i traktowane jako dedykowane dla danego hosta. Więcej informacji o wsparciu dla grupowania znajduje się w cron(8).

-c  Ta opcja ma znaczenie tylko jeśli cron(8) został uruchomiony z opcją -c, by włączyć wsparcie dla grupowania. Używa się jej by odpytać, który host z grupy został wybrany, by wykonywać zadania z plików crona w katalogu /var/spool/cron, w wyniku działania opcji -n.

-V  Wyświetla informacje o wersji i kończy działanie.

ZASTRZEŻENIA
Pliki cron.allow oraz cron.deny nie mogą być używane by ograniczyć wykonywanie zadań cron; pliki te ograniczają jedynie dostęp do komendy crontab. Konkretnie, ograniczenie dostępu do komendy crontab nie ma wpływu na istniejącą już tabelę crontab dla danego użytkownika. Jego zadania będą nadal wykonywane, do czasu gdy tabela zostanie usunięta.

Pliki cron.allow oraz cron.deny muszą być dostępne do odczytu dla użytkownika uruchamiającego crontaba. Jeśli jest inaczej, są traktowane jakby nie istniały.

ZOBACZ TAKŻE
crontab(5), cron(8)

PLIKI
/etc/cron.allow
/etc/cron.deny

STANDARDY
Polecenie crontab jest zgodne ze standardem IEEE Std1003.2-1992 ("POSIX"), z jednym wyjątkiem: By podmienić obecną tabelę crontab danymi ze standardowego wejścia należy użyć parametr - w wierszu poleceń jeśli standardowym wejściem jest TTY. Nowa składnia polecenia różni się od składni używanej przez poprzednie wersje Vixie Cron, jak również od klasycznej składni SVR3.

DIAGNOSTYKA
Po uruchomieniu programu z błędną opcją pojawi się zrozumiały opis popełnionego błędu.

AUTOR
Paul Vixie (vixie@isc.org)
Colin Dean (colin@colin-dean.org)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Łukasz Kowalczyk <lukow@tempac.okwf.fuw.edu.pl>, Michał Kułach <michal.kulach@gmail.com> i Szymon Lamkiewicz <s.lam@o2.pl>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.