File: crontab.5

package info (click to toggle)
manpages-pl 1%3A0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 22,276 kB
  • ctags: 7
  • sloc: sh: 112; makefile: 59; perl: 32
file content (335 lines) | stat: -rw-r--r-- 15,737 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
.\"/* Copyright 1988,1990,1993,1994 by Paul Vixie
.\" * All rights reserved
.\" *
.\" * Distribute freely, except: don't remove my name from the source or
.\" * documentation (don't take credit for my work), mark your changes (don't
.\" * get me blamed for your possible bugs), don't alter or remove this
.\" * notice.  May be sold if buildable source is provided to buyer.  No
.\" * warrantee of any kind, express or implied, is included with this
.\" * software; use at your own risk, responsibility for damages (if any) to
.\" * anyone resulting from the use of this software rests entirely with the
.\" * user.
.\" *
.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
.\" * I'll try to keep a version up to date.  I can be reached as follows:
.\" * Paul Vixie          <paul@vix.com>          uunet!decwrl!vixie!paul
.\" */
.\"
.\" $Id: crontab.5,v 2.4 1994/01/15 20:43:43 vixie Exp $
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\" This file is distributed under the same license as original manpage
.\" Copyright of the original manpage:
.\" Copyright © 1988,1990,1993,1994, Paul Vixie, 1994 Ian Jackson, 1996-2005 Steve Greenland, 2005-2006, 2008-2010 Javier Fernández-Sanguino Peña, 2010-2011 Christian Kastner, et al 
.\" Copyright © of Polish translation:
.\" Przemek Borys (PTM) <pborys@dione.ids.pl>, 1999.
.\" Wojtek Kotwica (PTM) <wkotwica@post.pl>, 2000.
.\" Michał Kułach <michal.kulach@gmail.com>, 2013.
.TH CRONTAB 5 "19 kwietnia 2010"  
.UC 4
.SH NAZWA
crontab \- tabele do crona
.SH OPIS
Plik \fIcrontab\fP zawiera wskazówki dla demona \fBcron\fP(8), sformatowane w
ogólnej postaci: "uruchom tę komendę o tej porze i tego dnia". Każdy
użytkownik ma swoją własną tabelę crontab, a komendy z każdej podanej tabeli
są wykonywane z uprawnieniami jej właściciela. News i uucp zazwyczaj mają
swoje własne tabele, eliminując w ten sposób potrzebę jawnego wywoływania
\fBsu\fP(1) jako części komendy crona.
.PP
Puste wiersze, spacje oraz tabulacje są ignorowane. Wiersze, w których
pierwszym nie\-białym znakiem jest kratka (#), są komentarzami i też są
ignorowane. Proszę zauważyć, że komentarze nie mogą wystąpić w tym samym
wierszu co komendy crona, ponieważ będą one wtedy potraktowane jak część
komendy. Podobnie, komentarze nie są dozwolone w wierszach ustawień
zmiennych środowiskowych.
.PP
Aktywny wiersz tabeli może być albo ustawieniem środowiska, albo komendą
crona. Plik tabeli jest przetwarzany od góry do dołu, tak więc ustawienie
zmiennej środowiskowej będzie miało wpływ jedynie na komendy crona
znajdujące się poniżej jej. Ustawianie zmiennej ma postać
.PP
    \fInazwa\fP \fB=\fP \fIwartość\fP
.PP
gdzie spacje wokół znaku równości (=) są opcjonalne, a wszelkie kolejne,
niepoczątkowe spacje w \fIwartości\fP zostaną częścią wartości przypisanej
zmiennej \fInazwa\fP. Łańcuch \fIwartość\fP może być umieszczony w cudzysłowach
(pojedynczych lub podwójnych, lecz jednakowych w parze). Zachowa to
początkowe i końcowe spacje. Aby zdefiniować pustą zmienną, \fBtrzeba\fP
zastosować cudzysłowy. Łańcuch \fIwartość\fP \fBnie\fP jest przetwarzany pod kątem
podstawień zmiennych środowiskowych lub zastąpień zmiennych, tak więc
wiersze takie jak
.PP
    PATH = $HOME/bin:$PATH
.PP
nie będą działać zgodnie z przewidywaniami. Tak samo będzie z tym
przykładem:
.PP
    A=1
    B=2
    C=$A $B
.PP
Nie nastąpi podmiana zdefiniowanymi zmiennymi w ostatniej wartości.
.PP
Alternatywą do ustawiania ścieżki poleceń jest skorzystanie z faktu, że
wiele powłok traktuje znak tyldy (~) jako podstawienie $HOME, więc w
przypadku używania \fBbash\fPa, można użyć
.PP
     SHELL=/bin/bash
     PATH=~/bin:/usr/bin/:/bin
.PP
Wiele zmiennych środowiskowych jest ustawianych automatycznie przez demona
\fBcron\fP(8).  SHELL jest ustawiany na /bin/sh, LOGNAME i HOME są ustawiane na
podstawie wierszy /etc/passwd właściciela tabeli.  PATH jest ustawiane na
"/usr/bin:/bin". Zmienne HOME, SHELL i PATH mogą być przesłonięte przez
ustawienia w tabeli. Nie można tak zrobić z LOGNAME, który jest
użytkownikiem, z którego uruchamiane jest polecenie.
.PP
Inna uwaga: zmienna LOGNAME nazywa się czasem USER na systemach BSD... na
tych systemach ustawiana będzie również zmienna USER.
.PP
Dodatkowo, poza powyższymi zmiennymi, \fBcron\fP(8)  będzie korzystał z MAILTO
jeśli zajdzie potrzeba wysłania listu jako wyniku wykonania komend z "tej"
tabeli. Jeśli MAILTO jest zdefiniowane (i niepuste), to list zostanie
wysłany do wskazanego tam użytkownika. Można podać wielu odbiorców,
oddzielając ich przecinkiem. Jeśli MAILTO jest zdefiniowane, lecz puste
(MAILTO=""), to nie są wysyłane żadne listy.  W innych wypadkach listy są
wysyłane do właściciela tabeli.
.PP
W systemach Debian GNU/Linux, cron obsługuje moduł \fBpam_env\fP i ładuje
zmienną podaną w \fI/etc/environment\fP i
\fI/etc/security/pam_env.conf\fP. Odczytuje również informacje o ustawieniach
językowych z \fI/etc/default/locale\fP. Jednak ustawienia PAM \fBNIE\fP przesłonią
ustawień opisanych powyżej, ani żadnych ustawień z samego pliku
\fIcrontab\fP. W szczególności, jeśli chce się ustawić zmienną PATH na inną niż
"/usr/bin:/bin", konieczne jest wykonanie tego w samej tabeli.
.PP
Domyślnie, cron wyśle wiadomość używając nagłówka pocztowego "Content\-Type:"
z "text/plain" i parametrem "charset=" ustawionym na mapę znaków lub
kodowanie ustawień językowych (locale), w momencie uruchomienia \fBcrond\fP(8);
to znaczy albo domyślnych ustawień systemowych, jeśli nie ustawiono
zmiennych środowiskowych LC_* albo określonych zmiennymi LC_* (patrz
\fBlocale\fP(7)). Można użyć innego kodowania do wysyłanych wiadomości zadań
crona, ustawiając zmienne CONTENT_TYPE i CONTENT_TRANSFER_ENCODING w plikach
crontab, na właściwe wartości nagłówków pocztowych.
.PP
Format komendy crona jest podobny do standardu V7, z wieloma
rozszerzeniami. Każdy wiersz ma pięć pól czasu i daty, za którymi znajduje
się polecenie, kończące się znakiem nowego wiersza ("\en"). Systemowy plik
crontab (/etc/crontab) używa tego samego formatu, z tym wyjątkiem, że po
czasie i dacie, a przed poleceniem, znajduje się nazwa użytkownika. Pola
mogą być oddzielone spacjami lub tabulatorami.
.PP
Polecenia są wywoływane przez demona \fBcron\fP(8), gdy minuta, godzina i
miesiąc z wpisu odpowiadają czasowi bieżącemu \fIoraz\fP gdy przynajmniej jedno
z dwóch pól dnia (dzień miesiąca lub dzień tygodnia)  odpowiadają czasowi
bieżącemu (patrz "Uwagi" poniżej). Program \fBcron\fP(8) sprawdza wpisy cron co
minutę. Pola czasu i daty to:
.IP
.ta 1.5i
Pole	dozwolone wartości
.br
\-\-\-\-	\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
.br
minuta	0\-59
.br
godzina	0\-23
.br
dzień miesiąca	1\-31
.br
miesiąc	1\-12 (albo nazwy, patrz niżej)
.br
dzień tygodnia	0\-7 (0 lub 7 jest niedzielą; albo nazwy)
.br
.PP
Pole może mieć gwiazdkę (\fB*\fP), która oznacza "pierwszy\-ostatni".
.PP
Dozwolone są zakresy liczb. Zakresy są dwiema liczbami, oddzielonymi
myślnikiem. Zakres ten jest domknięty. Na przykład, 8\fB\-\fP11 dla "godzin"
oznacza wywoływanie w godzinach 8, 9, 10, 11.
.PP
Dozwolone są też listy. Lista jest zbiorem liczb (lub zakresów),
oddzielonych przecinkami. Przykłady: "1\fB,\fP2\fB,\fP5\fB,\fP9", "0\-4\fB,\fP8\-12".
.PP
W połączeniu z zakresami można używać wartości krokowych. Napisanie za
zakresem elementu "\fB/\fP<liczba>" oznacza odstępy między wartościami
liczby w zakresie. Na przykład "0\-23/2" oznacza liczby parzyste w tym
zakresie (alternatywą w standardzie V7 jest
"0,2,4,6,8,10,12,14,16,18,20,22"). Wartości krokowe dozwolone są też za
gwiazdkami, więc jeśli aby zdefiniować "co drugą godzinę", można użyć po
prostu "*\fB/\fP2".
.PP
Dla "miesięcy" i "dni tygodnia" można używać również \fBnazw\fP. Można użyć
pierwszych trzech liter konkretnego dnia lub miesiąca (po angielsku,
wielkość liter nie ma znaczenia). Zakresy lub listy nazw są niedozwolone.
.PP
Szóste pole (reszta wiesza) określa \fBpolecenie\fP, jaką należy wykonać. Cała
część polecenia wiersza, aż do nowego wiersza lub znaku %, zostanie wykonana
przez /bin/sh, lub przez inną powłokę, jaką podano w zmiennej SHELL pliku
crona. Procenty w komendzie (%), o ile nie są chronione odwrotnymi
ukośnikami (\e), zostaną zamienione w znaki nowego wiersza, a wszelkie dane
za pierwszym % zostaną przesłane na standardowe wejście polecenia. Nie da
się podzielić pojedynczego polecenia na wiele wierszy, tak jak w powłoce
można to zrobić kończąc wiersz "\e".
.PP
Uwaga: Dzień wywołania komendy może być podany w dwóch polach \(em dniu
miesiąca i dniu tygodnia. Jeśli obydwa pola są podane (np, nie są *), to
komenda zostanie wywołana gdy \fIdowolne\fP z pól będą odpowiadały bieżącemu
czasowi. Na przykład,
.br
\*(lq30 4 1,15 * 5\*(rq spowoduje wywołanie komendy o 4:30 pierwszego i 15\-tego
każdego miesiąca plus każdy piątek. Można jednak osiągnąć zamierzone
działanie dodając do polecenia test (patrz ostatni przykład w PRZYKŁADOWY
PLIK CRONA poniżej).
.PP
Zamiast pierwszych pięciu pól, można użyć jednego z ośmiu łańcuchów
specjalnych:
.IP
.ta 1.5i
łańcuch	znaczenie
.br
\-\-\-\-\-\-\-	\-\-\-\-\-\-\-\-\-
.br
\fB@reboot\fP	uruchamia raz, przy rozruchu;
.br
\fB@yearly\fP	uruchamia raz w roku, "0 0 1 1 *";
.br
\fB@annually\fP	(to samo co @yearly);
.br
\fB@monthly\fP	uruchamia raz w miesiącu, "0 0 1 * *";
.br
\fB@weekly\fP	uruchamia raz w tygodniu, "0 0 * * 0";
.br
\fB@daily\fP	uruchamia raz na dzień, "0 0 * * *";
.br
\fB@midnight\fP	(to samo co @daily);
.br
\fB@hourly\fP	uruchamia raz na godzinę, "0 * * * *".
.br
.PP
Za rozruch, w przypadku łańcucha @reboot, uważa się rozruch demona
\fBcron\fP(8). W szczególności, może być to wcześniej, niż uruchomią się pewne
demony systemowe lub inne usługi. Jest to spowodowane kolejnością startową
danego komputera.

.SH "PRZYKŁADOWA TABELA CRON"

Poniżej znajduje się przykład pliku crontab użytkownika.

.nf

# używaj /bin/bash do wywoływania komend, zamiast domyślnego /bin/sh.
SHELL=/bin/bash
# przesyłaj wyjście do użytkownika "paul", bez względu na
# właściciela tabeli
MAILTO=paul
#
# uruchamiaj się 5 minut po północy, codziennie
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# uruchamiaj się o 14:15 pierwszego w każdym miesiącu \-\- wyjście jest
# przesyłane do użytkownika paul
15 14 1 * *     $HOME/bin/monthly
# uruchamiaj się o 22 w weekendy, denerwuj Joe.
0 22 * * 1\-5	mail \-s "Jest 22" joe%Joe,%%Gdzie są twoje dzieci?%
23 0\-23/2 * * * echo "uruchamiaj 23 min po: północy, 2, 4 ..., codziennie"
5 4 * * sun     echo "Uruchamiaj o 4:05 w każdą niedzielę"
# uruchamiaj się co drugą niedzielą miesiąca
0 4 8\-14 * *    test $(date +\e%u) \-eq 6 && echo "druga niedziela"
.fi
.SH "PRZYKŁADOWA SYSTEMOWA TABELA CRON"

Poniżej znajduje się zawartość standardowego, systemowego pliku crontab (z
przetłumaczonym wyjaśnieniem). W przeciwieństwie do pliku crontab
użytkownika, ten plik ma pole "nazwa użytkownika", zgodnie z /etc/crontab.

.nf
# /etc/crontab: systemowy crontab
# W przeciwieństwie do innych plików crontab, nie ma potrzeby
# uruchamiania polecenia "crontab" w celu zainstalowania nowej
# wersji pliku, po jego edycji i po edycji plików w /etc/cron.d
# Pliki te mają również pole "nazwa użytkownika", którego nie
# posiadają inne pliki crontab.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

#m g d mies dztyg użytk polecenie
17 * * * *  root  cd / && run\-parts \-\-report /etc/cron.hourly
25 6 * * *  root  test \-x /usr/sbin/anacron || ( cd / && run\-parts \-\-report /etc/cron.daily )
47 6 * * 7  root  test \-x /usr/sbin/anacron || ( cd / && run\-parts \-\-report /etc/cron.weekly )
52 6 1 * *  root  test \-x /usr/sbin/anacron || ( cd / && run\-parts \-\-report /etc/cron.monthly )
#
.fi
.SH "ZOBACZ TAKŻE"
cron(8), crontab(1)
.SH ROZSZERZENIA
Podczas podawania dnia tygodnia, zarówno 0 jak i 7 jest uważane za
niedzielę. BSD i AT&T nie zgadzają się z tym.
.PP
Listy i zasięgi mogą koegzystować w tym samym polu. "1\-3,7\-9" będzie
odrzucone przez crona AT&T i BSD \-\- chcą one widzieć TYLKO "1\-3" lub
"7,8,9".
.PP
Zakresy mogą zawierać "kroki", więc "1\-9/2" jest tym samym co "1,3,5,7,9".
.PP
Nazwy miesiąca lub dnia tygodnia mogą być podawane przez nazwę (angielską).
.PP
W tabeli można ustawiać zmienne środowiskowe. W BSD i AT&T, środowisko
przekazywane procesom potomnym jest po prostu tym z /etc/rc.
.PP
Wyjście poleceń jest przesyłane właścicielowi tabeli (BSD nie tego potrafi),
może być przesyłane do osoby innej niż właściciel tabeli (tego nie potrafi
SysV) lub funkcja ta może być wyłączona i nie będzie wysyłana żadna poczta
(SysV tego też nie potrafi).
.PP
Wszystkie polecenia "@", które mogą pojawić się w miejscu pierwszych pięciu
pól są rozszerzeniami.
.SH OGRANICZENIA
Demon \fBcron\fP działa w zdefiniowanej strefie czasowej. Obecnie, nie
obsługuje stref czasowych różnych dla konkretnych użytkowników. Wszystkie
zadania: systemowe i użytkownika będą uruchamiane w skonfigurowanej strefie
czasowej. Nawet jeśli użytkownik poda zmienną środowiskową \fITZ\fP w swoim
pliku \fIcrontab\fP, to dotknie to wyłącznie poleceń wykonywanych w tej tabeli,
a nie samych zadań crontab.

Składnia \fIcrontab\fP nie daje możliwości zdefiniowania wszystkich wszystkich
okresów, jakie można sobie wyobrazić. Przykładowo, nie jest łatwe
zdefiniowanie ostatniego weekendu w miesiącu. Jeśli zajdzie potrzeba
uruchomienia zadania w okresie, który nie może być zdefiniowany składnią
\fIcrontab\fP, to najlepszym wyjściem będzie wymuszenie sprawdzenia daty i
czasu przez sam uruchamiany program i kontynuowanie wykonywania go tylko,
jeśli dany okres jest właściwy.

Jeśli program nie może tego wykonać, to konieczny może być skrypt
opakowujący. Przydatnymi narzędziami do analizy daty są \fBncal\fP i
\fBcalendar\fP. Na przykład, aby uruchomić progra w ostatnią niedzielę każdego
miesiąca, można użyć poniższego kodu opakowującego:

.nf
0 4 * * Sat   [ "$(date +\e%e)" = "`ncal | grep $(date +\e%a | sed  \-e 's/.$//') | sed \-e 's/^.*\es\e([0\-9]\e+\e)\es*$/\e1/'`" ] && echo "Ostatnia niedziela" && program_do_wykonania
.fi


.SH DIAGNOSTYKA
Program cron wymaga, aby każdy wpis w pliku crontab kończył się znakiem
nowego wiersza. Jeśli ostatni wpis w pliku crontab nie będzie go posiadał
(tzn. zakończy się bezpośrednio EOF), to cron stwierdzi, że crontab jest
(przynajmniej częściowo) uszkodzony i odmówi jego instalacji. Ostrzeżenie
zostanie wypisane do sysloga.

.SH AUTOR
Paul Vixie <paul@vix.com> jest autorem \fBcron\fPa 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.
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są:
Przemek Borys (PTM) <pborys@dione.ids.pl>,
Wojtek Kotwica (PTM) <wkotwica@post.pl>
i
Michał Kułach <michal.kulach@gmail.com>.
.PP
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ą \fB 3.0pl1 \fPoryginału.