NAZWA¶
crontab - zarządzanie plikami crontab należącymi do
użytkowników (Vixie Cron)
SKŁADNIA¶
crontab [
-u użytkownik ]
plik
crontab [
-u użytkownik ] [
-i ] {
-e
|
-l |
-r }
OPIS¶
crontab jest programem służącym do instalacji,
dezinstalacji lub oglądania zawartości tabel używanych
przez demon
cron(8) z pakietu Vixie Cron. Każdy
użytkownik może posiadać własną
tabelę. Tabele cron są plikami przechowywanymi w katalogu
/var/spool/cron/crontabs, lecz nie powinny być bezpośrednio
modyfikowane.
Jeżeli istnieje plik
/etc/cron.allow, użytkownik musi
być w nim wymieniony, by mieć możliwość
używania polecenia
crontab. Jeżeli nie istnieje plik
/etc/cron.allow lecz istnieje plik
/etc/cron.deny,
użytkownik
nie może być w nim wymieniony, by
używać tego polecenia.
Jeżeli nie istnieje żaden z tych plików, wówczas
dostępność polecenia zależy od ustawień
konkretnego systemu. Możliwa jest zarówno sytuacja, kiedy
każdy użytkownik ma dostęp do tego polecenia, jak i
sytuacja, kiedy dostęp do niego ma tylko administrator.
Jeśli oba pliki istnieją, to
/etc/cron.allow ma
pierwszeństwo. Oznacza to, że
/etc/cron.deny nie jest
brany pod uwagę, a użytkownik musi być wypisany w
/etc/cron.allow aby mógł używać crontab.
Niezależnie od istnienia każdego z tych plików,
użytkownik root zawsze może ustawić crontab. W przypadku
standardowych systemów Debian, wszyscy użytkownicy mogą
użyć tego polecenia.
Jeżeli podana zostanie opcja
-u, określa ona
użytkownika, którego tabele cron mają być
użyte (przy wypisywaniu) lub modyfikowane (przy edycji). Jeżeli
ta opcja nie jest podana, modyfikowane będą tabele
należące do użytkownika uruchamiającego program.
Proszę zauważyć, że polecenie
su(8)
może zdezorientować program
crontab. Jeżeli
uruchamia się
crontab po wydaniu polecenia
su(8), powinno
się zawsze używać opcji
-u ze
względów bezpieczeństwa.
Pierwsza forma wywoływania programu
crontab służy do
utworzenia nowej tabeli na podstawie podanego pliku lub danych pobranych ze
standardowego wejścia, jeżeli podana zostanie pseudo-nazwa pliku
"-"
Opcja
-l powoduje wypisanie bieżącej tabeli na standardowym
wyjściu. Proszę sprawdzić również
uwagę w poniższym rozdziale
ZMIANY ODNOSZĄCE
SIĘ DO DEBIANA.
Opcja
-r usuwa bieżącą tabelę crontab.
Opcja
-e służy do modyfikacji bieżącej tabeli
przy pomocy edytora, którego nazwa znajduje się w jednej ze
zmiennych środowiskowych VISUAL lub EDITOR. Po opuszczeniu edytora
zmodyfikowana tabela zostanie automatycznie zainstalowana. Jeśli
żadna ze zmiennych środowiskowych nie jest zdefiniowana, to
używany jest domyślny edytor /usr/bin/editor.
Opcja
-i modyfikuje opcję -r, aby zapytać
użytkownika o odpowiedź "y/Y", przed rzeczywistym
usunięciem pliku crontab.
ZMIANY ODNOSZĄCE SIĘ DO DEBIANA¶
Domyślnym zachowaniem
crontab -l jest wyświetlanie trzech
wierszy nagłówka "DO NOT EDIT THIS FILE", które
są umieszczane na początku pliku crontab, podczas jego
instalacji. Niestety, powoduje to problem z sekwencją
crontab -l | crontab -
która staje się nieidempotentna - cały czas dodaje
się kopie nagłówka. Powoduje to problemy w skryptach
używających seda do edycji crontaba. W związku z tym,
domyślne zachowanie opcji
-l zostało zmienione tak, aby
nie wypisywać wspomnianego nagłówka. Można
przywrócić oryginalne zachowanie, ustawiając
zmienną środowiskową
CRONTAB_NOHEADER na
"N", które powoduje, że
crontab -l wypisuje
dodatkowy nagłówek.
ZOBACZ TAKŻE¶
crontab(5),
cron(8)
PLIKI¶
/etc/cron.allow
/etc/cron.deny
/var/spool/cron/crontabs
W katalogu /var/spool/cron/crontabs znajduje się po jednym pliku crontab
dla każdego użytkownika. Użytkownicy nie mogą
edytować plików w tym katalogu bezpośrednio, aby
upewnić się, że jedynie użytkownicy
upoważnieni do wykonywania zadań okresowych mogą je
dodawać oraz tylko poprawne składniowo pliki crontab
będą tu zapisywane. Wymusza się to przez
umożliwienie zapisu do katalogu jedynie przez grupę
crontab i skonfigurowanie polecenia
crontab z ustawionym bitem
setgid dla tej grupy.
STANDARDY¶
Polecenie
crontab jest zgodne ze standardem IEEE Std1003.2-1992
("POSIX"). 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.
Cron wymaga, aby każdy wpis w pliku crontab kończył
się znakiem nowego wiersza. Jeśli ostatni wpis w crontab nie
będzie posiadał znaku nowego wiersza, to cron stwierdzi,
że crontab jest (przynajmniej częściowo) uszkodzony i
odmówi jego instalacji.
AUTOR¶
Paul Vixie <paul@vix.com> jest autorem programu
cron i pierwotnym
twórcą niniejszej strony podręcznika systemowego. Strona
została również zmodyfikowana dla Debiana przez Steve'a
Greenlanda, Javiera Fernandeza-Sanguino i Christiana Kastnera.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Łukasz Kowalczyk (PTM) <lukow@tempac.okwf.fuw.edu.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.