CRONTAB(1) Polecenia użytkownika CRONTAB(1)

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

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

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.

When listing a crontab on a terminal the output will be colorized unless an environment variable NO_COLOR is set.

-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
Test the crontab file syntax without installing it. Once an issue is found, the validation is interrupted, so this will not return all the existing issues at the same execution.
-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.

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.

crontab(5), cron(8)

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

The crontab command conforms to IEEE Std1003.2-1992 (“POSIX”) with one exception: For replacing the current crontab with data from standard input the - has to be specified on the command line if the standard input is a TTY. This new command syntax differs from previous versions of Vixie Cron, as well as from the classic SVR3 syntax.

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

Paul Vixie
Colin Dean

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Ł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 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

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

29 października 2019 r. cronie