.\" -*- coding: UTF-8 -*-
.\"/* 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.
.\"
.\"*******************************************************************
.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
.in +4n
nazwa = wartość
.in
.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.
.PP
Ł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
.in +4n
.nf
PATH = $HOME/bin:$PATH
PATH = ~/bin:/usr/bin:/bin
.fi
.in
.PP
nie będą działać zgodnie z przewidywaniami. Tak samo będzie z tym
przykładem:
.PP
.in +4n
.nf
A=1
B=2
C=$A $B
.fi
.in
.PP
Nie nastąpi podmiana zdefiniowanymi zmiennymi w ostatniej wartości.
.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
In addition to LOGNAME, HOME, and SHELL, \fIcron\fP(8)  will look at MAILTO and
MAILFROM if it has any reason to send mail as a result of running commands
in \*(lqthis\*(rq crontab.
.PP
If MAILTO is defined (and non\-empty), mail is sent to the user so named.
MAILTO may also be used to direct mail to multiple recipients by separating
recipient users with a comma.  If MAILTO is defined but empty (MAILTO=""),
no mail will be sent.  Otherwise mail is sent to the owner of the crontab.
.PP
If MAILFROM is defined, the sender email address is set to
MAILFROM. Otherwise mail is sent as "root (Cron Daemon)".
.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
The format of a cron command is very much the V7 standard, with a number of
upward\-compatible extensions.  Each line has five time and date fields,
followed by a command, followed by a newline character ('\en').  The system
crontab (/etc/crontab) uses the same format, except that the username for
the command is specified after the time and date fields and before the
command.  The fields may be separated by spaces or tabs.  The maximum
permitted length for the command field is 998 characters.
.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\(en59
.br
godzina	0\(en23
.br
dzień miesiąca	1\(en31
.br
miesiąc	1\(en12 (albo nazwy, patrz niżej)
.br
dzień tygodnia	0\(en7 (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
Note: The day of a command's execution can be specified by two fields \(em
day of month, and day of week.  If both fields are restricted (i.e., don't
start with *), the command will be run when \fIeither\fP field matches the
current time.  For example,
.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
Please note that startup, as far as @reboot is concerned, is the time when
the \fIcron\fP(8)  daemon starts up.  In particular, it may be before some
system daemons, or other facilities, are started.  This is due to the boot
order sequence of the machine.

.SH "PRZYKŁADOWA TABELA CRON"

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

.nf

# use /bin/bash to run commands, instead of the default /bin/sh
SHELL=/bin/bash
# mail any output to `paul', no matter whose crontab this is
MAILTO=paul
#
# run five minutes after midnight, every day
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
# run at 2:15pm on the first of every month \(em output mailed to paul
15 14 1 * *     $HOME/bin/monthly
# run at 10 pm on weekdays, annoy Joe
0 22 * * 1\-5    mail \-s "It's 10pm" joe%Joe,%%Where are your kids?%
23 0\-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 * * sun     echo "run at 5 after 4 every Sunday"
0 */4 1 * mon   echo "run every 4th hour on the 1st and on every Monday"
0 0 */2 * sun   echo "run at midn on every Sunday that's an uneven date"
# Run on every second Saturday of the month
0 4 8\-14 * *    test $(date +\e%u) \-eq 6 && echo "2nd Saturday"
.fi

.PP
All the above examples run non\-interactive programs.  If you wish to run a
program that interacts with the user's desktop you have to make sure the
proper environment variable \fIDISPLAY\fP is set.

.\" Note: Based on some web searches, below example might not fully
.\" work in all systems, as notify-send might require also
.\" to have knowledge of the dbus session in use (through the environment)
.\" However, adding that code here is an overkill
.nf
# Execute a program and run a notification every day at 10:00 am
0 10 * * *  $HOME/bin/program | DISPLAY=:0 notify\-send "Program run" "$(cat)"
.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

# Example of job definition:
# .\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- minute (0 \- 59)
# |  .\-\-\-\-\-\-\-\-\-\-\-\-\- hour (0 \- 23)
# |  |  .\-\-\-\-\-\-\-\-\-\- day of month (1 \- 31)
# |  |  |  .\-\-\-\-\-\-\- month (1 \- 12) OR jan,feb,mar,apr ...
# |  |  |  |  .\-\-\-\- day of week (0 \- 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# m h dom mon dow user	command
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

Note that all the system\-wide tasks will run, by default, from 6 am to 7
am.  In the case of systems that are not powered on during that period of
time, only the hourly tasks will be executed unless the defaults above are
changed.


.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 \(em 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
The \fIcron\fP daemon runs with a defined timezone.  It currently does not
support per\-user timezones.  All the tasks: system's and user's will be run
based on the configured timezone.  Even if a user specifies the \fITZ\fP
environment variable in his \fIcrontab\fP this will affect only the commands
executed in the crontab, not the execution of the crontab tasks
themselves. If one wants to specify a particular timezone for crontab tasks,
one may check the date in the child script, for example:

.nf
    # m h  dom mon dow   command

    SHELL=/bin/bash
    TZ=Australia/Sydney
    0 * * * * [ "$(date +\e%H\e%M)" == "0000" ] && run_some_script
.fi

POSIX specifies that the day of month and the day of week fields both need
to match the current time if either of them \fIis\fP a *.  However, this
implementation only checks if the \fIfirst character\fP is a *.  This is why "0
0 */2 * sun" runs every Sunday that's an uneven date while the POSIX
standard would have it run every Sunday and on every uneven date.

The \fIcrontab\fP syntax does not make it possible to define all possible
periods one can imagine.  For example, it is not straightforward to define
the last weekday of a month.  To have a task run in a time period that
cannot be defined using \fIcrontab\fP syntax, the best approach would be to
have the program itself check the date and time information and continue
execution only if the period matches the desired one.

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)" = "$(LANG=C ncal | sed \-n 's/^Sa .* \e([0\-9]\e+\e) *$/\e1/p')" ] && echo "Last Saturday" && program_to_run
.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, Christiana Kastnera i Christiana Pekelera.
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Przemek Borys <pborys@dione.ids.pl>,
Wojtek Kotwica <wkotwica@post.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
