Provided by: manpages-pl_4.13-4_all bug

NAZWA

       crontab - tabele do crona

OPIS

       Plik  crontab zawiera wskazówki dla demona cron(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 su(1) jako części komendy crona.

       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.

       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ć

           nazwa = wartość

       gdzie  spacje wokół znaku równości (=) są opcjonalne, a wszelkie kolejne, niepoczątkowe spacje w wartości
       zostaną częścią wartości przypisanej zmiennej nazwa. Łańcuch wartość 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ą, trzeba zastosować cudzysłowy.

       Łańcuch wartość nie jest  przetwarzany  pod  kątem  podstawień  zmiennych  środowiskowych  lub  zastąpień
       zmiennych, tak więc wiersze takie jak

           PATH = $HOME/bin:$PATH
           PATH = ~/bin:/usr/bin:/bin

       nie będą działać zgodnie z przewidywaniami. Tak samo będzie z tym przykładem:

           A=1
           B=2
           C=$A $B

       Nie nastąpi podmiana zdefiniowanymi zmiennymi w ostatniej wartości.

       Wiele zmiennych środowiskowych jest ustawianych automatycznie przez demona cron(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.

       Inna uwaga: zmienna LOGNAME nazywa się czasem USER na systemach BSD... na tych systemach ustawiana będzie
       również zmienna USER.

       In addition to LOGNAME, HOME, and SHELL, cron(8)  will look at MAILTO and MAILFROM if it has  any  reason
       to send mail as a result of running commands in “this” crontab.

       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.

       If  MAILFROM  is  defined,  the  sender email address is set to MAILFROM. Otherwise mail is sent as "root
       (Cron Daemon)".

       W systemach Debian GNU/Linux, cron obsługuje moduł pam_env i ładuje zmienną podaną w  /etc/environment  i
       /etc/security/pam_env.conf. Odczytuje również informacje o ustawieniach językowych z /etc/default/locale.
       Jednak  ustawienia  PAM  NIE  przesłonią  ustawień opisanych powyżej, ani żadnych ustawień z samego pliku
       crontab. W szczególności, jeśli chce się ustawić zmienną PATH na inną niż "/usr/bin:/bin", konieczne jest
       wykonanie tego w samej tabeli.

       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
       crond(8); to znaczy albo domyślnych ustawień systemowych, jeśli nie  ustawiono  zmiennych  środowiskowych
       LC_*  albo  określonych  zmiennymi  LC_*  (patrz  locale(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.

       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  ('\n').
       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.

       Polecenia  są  wywoływane przez demona cron(8), gdy minuta, godzina i miesiąc z wpisu odpowiadają czasowi
       bieżącemu oraz gdy przynajmniej jedno z dwóch pól dnia (dzień miesiąca lub dzień  tygodnia)   odpowiadają
       czasowi  bieżącemu  (patrz  "Uwagi" poniżej). Program cron(8) sprawdza wpisy cron co minutę. Pola czasu i
       daty to:

              Pole           dozwolone wartości
              ----           ------------------
              minuta         0–59
              godzina        0–23
              dzień miesiąca 1–31
              miesiąc        1–12 (albo nazwy, patrz niżej)
              dzień tygodnia 0–7 (0 lub 7 jest niedzielą; albo nazwy)

       Pole może mieć gwiazdkę (*), która oznacza "pierwszy-ostatni".

       Dozwolone są zakresy liczb.  Zakresy  są  dwiema  liczbami,  oddzielonymi  myślnikiem.  Zakres  ten  jest
       domknięty. Na przykład, 8-11 dla "godzin" oznacza wywoływanie w godzinach 8, 9, 10, 11.

       Dozwolone  są  też  listy.  Lista jest zbiorem liczb (lub zakresów), oddzielonych przecinkami. Przykłady:
       "1,2,5,9", "0-4,8-12".

       W połączeniu z zakresami można używać wartości krokowych.  Napisanie  za  zakresem  elementu  "/<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 "*/2".

       Dla "miesięcy" i "dni tygodnia" można używać również nazw. 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.

       Szóste  pole  (reszta wiesza) określa polecenie, 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 (\),
       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 "\".

       Note: The day of a command's execution can be specified by two fields — day of month, and  day  of  week.
       If  both  fields  are  restricted  (i.e.,  don't start with *), the command will be run when either field
       matches the current time.  For example,
       “30 4 1,15 * 5” 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).

       Zamiast pierwszych pięciu pól, można użyć jednego z ośmiu łańcuchów specjalnych:

              łańcuch        znaczenie
              -------        ---------
              @reboot        uruchamia raz, przy rozruchu;
              @yearly        uruchamia raz w roku, "0 0 1 1 *";
              @annually      (to samo co @yearly);
              @monthly       uruchamia raz w miesiącu, "0 0 1 * *";
              @weekly        uruchamia raz w tygodniu, "0 0 * * 0";
              @daily         uruchamia raz na dzień, "0 0 * * *";
              @midnight      (to samo co @daily);
              @hourly        uruchamia raz na godzinę, "0 * * * *".

       Za rozruch, w przypadku łańcucha @reboot, uważa się rozruch demona cron(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.

PRZYKŁADOWA TABELA CRON

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

       # 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 — 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 +\%u) -eq 6 && echo "2nd Saturday"

       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 DISPLAY is set.

       # 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)"

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.

       # /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 usercommand
       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 )
       #

       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.

ZOBACZ TAKŻE

       cron(8), crontab(1)

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.

       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".

       Zakresy mogą zawierać "kroki", więc "1-9/2" jest tym samym co "1,3,5,7,9".

       Nazwy miesiąca lub dnia tygodnia mogą być podawane przez nazwę (angielską).

       W  tabeli  można  ustawiać  zmienne środowiskowe. W BSD i AT&T, środowisko przekazywane procesom potomnym
       jest po prostu tym z /etc/rc.

       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).

       Wszystkie polecenia "@", które mogą pojawić się w miejscu pierwszych pięciu pól są rozszerzeniami.

OGRANICZENIA

       Demon  cron  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ą TZ w swoim pliku crontab, to dotknie
       to wyłącznie poleceń wykonywanych w tej tabeli, a nie samych zadań crontab.

       POSIX specifies that the day of month and the day of week fields both need to match the current  time  if
       either  of them is a *.  However, this implementation only checks if the first character 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  crontab  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 crontab 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ą ncal i calendar. Na przykład, aby uruchomić progra w ostatnią niedzielę każdego miesiąca,
       można użyć poniższego kodu opakowującego:

       0 4 * * Sat   [ "$(date +\%e)" = "$(LANG=C ncal | sed -n 's/^Sa .* \([0-9]\+\) *$/\1/p')" ] && echo "Last Saturday" && program_to_run

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.

AUTOR

       Paul Vixie <paul@vix.com> jest autorem crona 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.

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>

       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  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

4th Berkeley Distribution                       19 kwietnia 2010                                      CRONTAB(5)