PLD-doc/book/pl_book__uslugi/pl_uslugi__cron.sec

qwiat cvs w pld-linux.org
Czw, 17 Lis 2005, 02:07:14 CET


Author: qwiat
Date: Thu Nov 17 02:07:11 2005
New Revision: 6536

Modified:
   PLD-doc/book/pl_book__uslugi/pl_uslugi__cron.sec
Log:
- nowy podzial sekcji, nowe tytuly
- nowa sekcja na koncu
- bardziej szczegolowe opisy
- cala masa kosmetyki


Modified: PLD-doc/book/pl_book__uslugi/pl_uslugi__cron.sec
==============================================================================
--- PLD-doc/book/pl_book__uslugi/pl_uslugi__cron.sec	(original)
+++ PLD-doc/book/pl_book__uslugi/pl_uslugi__cron.sec	Thu Nov 17 02:07:11 2005
@@ -1,127 +1,154 @@
 <?xml version="1.0" encoding="iso-8859-2"?>
 <section id="uslugi_cron">
 <title>CRON - Cykliczne wykonywanie zadań</title>
-<para><productname>CRON</productname> jest demonem, którego zadaniem jest
-	uruchamianie programów cyklicznie lub o określonej porze. Omówiona
-	zostanie instalacja <productname>vixie-cron</productname>, który oprócz
-	standardowych usług posiada dodatkowe opcje konfiguracyjne i
+<para><productname>CRON</productname> jest ważnym demonem systemowym, którego
+	zadaniem jest uruchamianie programów cyklicznie lub o określonej porze.
+	Omówiona zostanie instalacja <productname>vixie-cron</productname>, który
+	oprócz standardowych usług posiada dodatkowe opcje konfiguracyjne i
 	zwiększone bezpieczeństwo</para>
 
-<section id="uslugi_cron_instalacja">
-	<title>Instalacja</title>
-	<para>
-		Program instalujemy za pomocą poldka:
-		<screen># poldek -i vixie-cron</screen>
-		Po zainstalowaniu program jest praktycznie gotowy do użycia.
-		Można więc od razu uruchomić demona korzystając z polecenia:
-		<screen># /etc/rc.d/init.d/crond start</screen>
-		Od tej pory demon może działać nieprzerwane - nie wymaga
-		restartów po rekonfiguracji.
-	</para>
-</section>
-
-
-<section id="uslugi_cron_tabele">
-	<title>Tabele</title>
-	<para>
-		W cronie istnieje podział na zadania systemowe i zadania
-		użytkowników. Pierwszych zwykle używa się do prac
-		administracyjnych, z drugich korzystają użytkownicy wedle
-		własnych potrzeb. Główna konfiguracja umieszczona jest w
-		pliku <filename>/etc/cron.d/crontab</filename>, konfiguracje
-		lokalne użytkowników przechowywane są w plikach
-		<filename>/var/spool/cron/{login}</filename>. O ile
-		<filename>/etc/cron.d/crontab</filename> może być swobodnie
-		modyfikowany za pomocą edytora tekstu o tyle użytkownicy
-		powinni używać w tym celu odpowiedniego narzędzia (opisanego
-		w dalszej części).
-	</para>
-	<para>
-		Pliki konfiguracji crona nazywane są tabelami, zarówno główny
-		plik konfiguracji jak i konfiguracje użytkowników mają bardzo
-		podobną budowę. Są to pliki tekstowe o ściśle ustalonej składni
-		- każde zadanie jest definiowane w postaci wierszy wg.
-		następującego schematu:
-	</para>
-	<para>
-		<emphasis>{$data-czas} {$użytkownik} {$zadanie}</emphasis>
-	</para>
-	<para>
-		Pierwsze pole określa jak często wykonywane jest zadanie,
-		pole <emphasis>{$użytkownik}</emphasis> występuje jedynie
-		w konfiguracji globalnej (w
-		<filename>/etc/cron.d/crontab</filename>) i wskazuje z
-		jakimi prawami uruchamiane ma być zadanie. Trzecie pole to
-		operacja która ma być wykonywana. W tabelach użytkowników
-		nie podaje się nazwy użytkownika, gdyż polecenia tam zawarte
-		są automatycznie wykonywane z prawami ich właściciela.
-	</para>
-	<para>
-		Przykładowe zadania w /etc/cron.d/crontab:
-		<screen>02 01 * * *    root    find /home -size +100M > /root/duze_pliki.txt</screen>
-		Przykładowa konfiguracja zwykłego użytkownika:
-		<screen>30 * * * *    backup.sh</screen>
-	</para>
-	<para>
-		Sekcja {$użytkownik} i {$zadanie} nie wymagają komentarza więc
-		opisane zostanie jedynie pole {$data-czas}. Pole to składa się z
-		pięciu kolumn:
-		<itemizedlist>
-			<listitem>
-				<para>
-					1-sza kolumna (zakres
-					<emphasis>0-59</emphasis>) oznacza
-					minuty.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					2-ga kolumna (zakres
-					<emphasis>0-23</emphasis>) oznacza
-					godzinę.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					3-cia kolumna (zakres
-					<emphasis>0-31</emphasis>) oznacza
-					dzień miesiąca.
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					4-ta kolumna (zakres
-					<emphasis>0-12</emphasis>) oznacza
-					miesiąc. (0 i 1 to styczeń)
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					5-ta kolumna (zakres
-					<emphasis>0-7</emphasis>) oznacza dzień
-					tygodnia (0 i 7 to niedziela)
-				</para>
-			</listitem>
-			<listitem>
-				<para>
-					6-ta kolumna określa komendę jaka
-					powinna zostać wykonana dla danego
-					wiersza.
-				</para>
-			</listitem>
-		</itemizedlist>
-	</para>
-	<para>
-		Gwiazdka "*" oznacza cały zakres z możliwego przedziału.
-		Same zakresy w pierwszych pięciu kolumnach mogą być
-		reprezentowane w różny sposób. Więcej szczegółów na ten temat
-		dowiemy się wywołując polecenie <command>man 5 crontab</command>
-	</para>
-	<para>
-		Program <productname>vixie-cron</productname> posiada także mało udokumentowany format wykonywania poleceń
-	</para>
-	<screen>
-nazwa          działanie
+	<section id="uslugi_cron_instalacja">
+		<title>Instalacja</title>
+		<para>
+			Program instalujemy za pomocą poldka:
+			<screen># poldek -i vixie-cron</screen>
+			Po zainstalowaniu program jest praktycznie gotowy do użycia.
+			Można więc od razu uruchomić demona korzystając z polecenia:
+			<screen># /etc/rc.d/init.d/crond start</screen>
+			Od tej pory demon może działać nieprzerwane - nie wymaga
+			restartów po rekonfiguracji.
+		</para>
+	</section>
+
+
+	<section id="uslugi_cron_tabele">
+		<title>Budowa tabel</title>
+		<para>
+			W cronie istnieje podział na zadania systemowe i zadania
+			użytkowników. Pierwszych zwykle używa się do prac
+			administracyjnych, z drugich korzystają użytkownicy wedle
+			własnych potrzeb (o ile mają do tego prawo). Główna
+			konfiguracja demona (systemowa) umieszczona
+			jest w pliku <filename>/etc/cron.d/crontab</filename>, konfiguracje
+			lokalne użytkowników przechowywane są w plikach
+			<filename>/var/spool/cron/{$login}</filename>. O ile
+			<filename>/etc/cron.d/crontab</filename> może być swobodnie
+			modyfikowany za pomocą edytora tekstu, o tyle użytkownicy
+			powinni używać w tym celu odpowiedniego narzędzia (opisanego
+			w dalszej części).
+		</para>
+		<para>
+			Pliki konfiguracji crona nazywane są tabelami, zarówno główny
+			plik konfiguracji jak i konfiguracje użytkowników mają bardzo
+			podobną budowę. Są to pliki tekstowe o ściśle ustalonej składni, w
+			których jeden wiersz odpowiada jednemu zadaniu. Wiersz tabeli
+			systemowej ma następującą składnię:
+		</para>
+		<para>
+			<emphasis>{$data-czas} {$użytkownik} {$zadanie}</emphasis>
+		</para>
+		<para>
+			Nieco prostszą budowę mają tabele użytkowników:
+		</para>
+		<para>
+			<emphasis>{$data-czas} {$zadanie}</emphasis>
+		</para>
+		<para>
+			Pierwsze pole określa jak często wykonywane jest zadanie,
+			pole <emphasis>{$użytkownik}</emphasis> występuje jedynie
+			w konfiguracji globalnej (w
+			<filename>/etc/cron.d/crontab</filename>) i wskazuje z
+			jakimi prawami uruchamiane ma być zadanie. Trzecie pole to
+			operacja która ma być wykonywana. W tabelach użytkowników
+			nie podaje się nazwy użytkownika, gdyż polecenia tam zawarte
+			są automatycznie wykonywane z prawami ich właściciela.
+		</para>
+		<para>
+			Przykładowe zadania w /etc/cron.d/crontab:
+			<screen>02 01 * * *    root    find /home -size +100M > /root/duze_pliki.txt</screen>
+			Przykładowa konfiguracja zwykłego użytkownika:
+			<screen>30 * * * *    backup.sh</screen>
+		</para>
+		<para>
+			W tabelach oprócz zadań możemy definiować zmienne
+			środowiskowe np.:
+<screen>SHELL=/bin/bash
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+MAILTO=jakis_user
+NICE=15</screen>
+			Pierwsza zmienna wskazuje powłokę (zamiast domyślnej
+			 <filename>/bin/sh</filename>),
+			która ma być używana do wywoływania zadań, druga to ścieżka do
+			plików wykonywalnych. Trzecie pole to konto użytkownika do którego
+			będą wysyłane powiadomienia pocztą elektroniczną lub pełny
+			adres e-mail, ostatnia zmienna to priorytet wykonywanych
+			zadań (liczba nice).
+		</para>
+	</section>
+
+		
+	<section id="uslugi_cron_data_i_czas">
+		<title>Format daty i czasu</title>
+		<para>
+			Sekcja {$użytkownik} i {$zadanie} nie wymagają komentarza więc
+			opisane zostanie jedynie pole {$data-czas}. Pole to składa się z
+			pięciu kolumn:
+			<itemizedlist>
+				<listitem>
+					<para>
+						1-sza kolumna (zakres
+						<emphasis>0-59</emphasis>) oznacza
+						minuty.
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						2-ga kolumna (zakres
+						<emphasis>0-23</emphasis>) oznacza
+						godzinę.
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						3-cia kolumna (zakres
+						<emphasis>0-31</emphasis>) oznacza
+						dzień miesiąca.
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						4-ta kolumna (zakres
+						<emphasis>0-12</emphasis>) oznacza
+						miesiąc. (0 i 1 to styczeń)
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						5-ta kolumna (zakres
+						<emphasis>0-7</emphasis>) oznacza dzień
+						tygodnia (0 i 7 to niedziela)
+					</para>
+				</listitem>
+				<listitem>
+					<para>
+						6-ta kolumna określa komendę jaka
+						powinna zostać wykonana dla danego
+						wiersza.
+					</para>
+				</listitem>
+			</itemizedlist>
+		</para>
+		<para>
+			Gwiazdka "*" oznacza cały zakres z możliwego przedziału.
+			Same zakresy w pierwszych pięciu kolumnach mogą być
+			reprezentowane w różny sposób. Więcej szczegółów na ten temat
+			dowiemy się wywołując polecenie <command>man 5 crontab</command>
+		</para>
+		<para>
+			Program <productname>vixie-cron</productname> posiada
+			także mało udokumentowany format wykonywania poleceń
+		</para>
+<screen>Nazwa          Działanie
 ------         -------
 @reboot        Uruchom jeden raz przy starcie systemu
 @yearly        Uruchom jeden raz w roku, "0 0 1 1 *"
@@ -135,19 +162,19 @@
 Przykład:
 
 @reboot        /usr/bin/rdate -s ntp.task.gda.pl</screen>
-</section>
+	</section>
 
 
-<section id="uslugi_cron_konfiguracja_systemowa">
-	<title>Konfiguracja systemowa</title>
-	<para>
-		Główną konfigurację systemu tworzymy za pomocą naszego ulubionego 
-		edytora tekstu, poprzez modyfikację pliku <filename>/etc/cron.d/crontab</filename>.
-		Jego zawartość będzie podobna do poniżej przedstawionego przykładu.
-	</para>
-	<screen>SHELL=/bin/sh
+	<section id="uslugi_cron_konfiguracja_systemowa">
+		<title>Tabele systemowe</title>
+		<para>
+			Główną konfigurację systemu tworzymy za pomocą naszego ulubionego 
+			edytora tekstu, poprzez modyfikację pliku <filename>/etc/cron.d/crontab</filename>.
+			Jego zawartość będzie podobna do poniżej przedstawionego przykładu:
+		</para>
+		<screen>SHELL=/bin/sh
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
-MAILTO=jakis_user
+MAILTO=admin w foobar.foo
 NICE=15
 
 # run-parts
@@ -158,82 +185,114 @@
 0-59/10 * * * *  root  /bin/run-parts /etc/cron.10min		
 15 18 * * 1-5    root  /bin/run-parts /etc/cron.gielda</screen>
 
-	<para>
-		Na samym początku mamy główne opcje demona: pierwsza to powłoka
-		która ma być używana do wywoływania zadań, druga to ścieżka do
-		plików wykonywalnych. Trzecie pole to konto użytkownika do którego
-		będą wysyłane powiadomienia pocztą elektroniczną, ostatnia zmienna
-		to priorytet wykonywanych zadań.
-	</para>
-	<para>
-		Poniżej napisu <emphasis># run-parts</emphasis> umieszczone są
-		konfiguracje zadań, pierwsze cztery linijki stanowią domyślną
-		konfigurację demona. Run-parts jest to specjalne zadanie
-		uruchamiające pliki wykonywalne w katalogu wskazanym w parametrze,
-		pozwala to na łatwe dodawanie zadań dla demona. Opisy przykładów:
-	</para>
-	<para>
-		Wykonanie poleceń zawartych w pliku (plikach) katalogu
-		<filename>/etc/cron.hourly</filename> codziennie,  co godzinę -
-		zaczynając od pełnej pierwszej minuty (np. 02:01, 03:01 itd.):
-	</para>
-	<screen>01 * * * *      /bin/run-parts /etc/cron.hourly</screen>
-	<para>
-		Wykonanie poleceń zawartch w pliku (plikach) katalogu
-		<filename>/etc/cron.daily</filename> raz dzienie (o godz.
-		01:02):
-	</para>
-	<screen>02 1 * * *      /bin/run-parts /etc/cron.daily</screen>
-	<para>
-		Wykonanie poleceń zawartych w pliku (plikach) katalogu
-		<filename>/etc/cron.weekly</filename> raz w tygodniu (w
-		niedziele o godz. 02:02):
-	</para>
-	<screen>02 2 * * 0      /bin/run-parts /etc/cron.weekly</screen>
-	<para>
-		Wykonanie poleceń zawartych w pliku (plikach) katalogu
-		<filename>/etc/cron.monthly</filename> raz na miesiąc
-		(w pierwszy dzień miesiąca o godz. 03:02):
-	</para>
-	<screen>02 3 1 * *      /bin/run-parts /etc/cron.monthly</screen>
-	<para>
-		Wykonanie poleceń zawartych w pliku (plikach) katalogu
-		<filename>/etc/cron.gielda</filename> raz dziennie w dni
-		robocze (od poniedziałku do piątku o godz. 18:15):
-	</para>
-	<screen>15 18 * * 1-5   /bin/run-parts /etc/cron.gielda</screen>
-	<para>
-		Wykonanie poleceń zawartych w pliku (plikach) katalogu
-		<filename>/etc/cron.10min</filename> co 10 minut (każdego
-		dnia, zaczynając od pełnej godziny - czyli np. 01:00, 01:10,
-		01:20 itd.):
-	</para>
-	<screen>0-59/10 * * * * /bin/run-parts /etc/cron.10min</screen>
-	<para>
-		Jeżeli chcemy aby inni użytkownicy mogli korzystać z Crona
-		musimy ich dopisać do pliku
-		<filename>/etc/cron/cron.allow</filename>.
-	</para>
-</section>
-
-
-<section id="uslugi_cron_konfiguracja_uzytkownika">
-	<title>Konfiguracja użytkownika</title>
-	<para>
-		Użytkownicy powinni używać narzędzia <command>crontab</command>,
-		program ten przyjmuje parametry określające akcję która ma być
-		wykonana na tabeli. Parametr <emphasis>-l</emphasis> wyświetla
-		listę zdefiniowanych zadań, parametr <emphasis>-e</emphasis> otworzy
-		plik konfiguracji do edycji, zaś <emphasis>-r</emphasis> usunie całą
-		zawartość konfiguracji użytkownika. Root ma dodatkowo do dyspozycji
-		możliwość zarządzania zadaniami dowolnego użytkownika, w tym celu
-		stosuje się opcję <emphasis>-u</emphasis> z podaną nazwą użytkownika.
-		Wybranie opcji edycji tabeli spowoduje otworzenie edytora tekstu
-		określonego zmienną środowiskową <emphasis>EDITOR</emphasis>,
-		po skończonej edycji plik zostanie automatycznie poddany kontroli
-		poprawności i zapisany jako
-		<filename>/var/spool/cron/{login}</filename>.
-	</para>
-</section>
 
+		<para>
+			Poniżej napisu <literal># run-parts</literal> umieszczone są
+			konfiguracje zadań, pierwsze cztery linijki stanowią domyślną
+			konfigurację demona. Program <command>run-parts</command>
+			służy do uruchamiania o jednej porze wszystkich programów
+			we wskazanym katalogu. Dzięki takim opcjom możemy dodawać
+			programy lub skrypty do odpowiednich katalogów bez konieczności
+			pisania regułek cron-a. Poniżej umieszczono opisy powyższych
+			przykładów:
+		</para>
+		<para>
+			Wykonanie poleceń zawartych w pliku (plikach) katalogu
+			<filename>/etc/cron.hourly</filename> codziennie,  co godzinę -
+			zaczynając od pełnej pierwszej minuty (np. 02:01, 03:01 itd.):
+		</para>
+		<screen>01 * * * *      /bin/run-parts /etc/cron.hourly</screen>
+		<para>
+			Wykonanie poleceń zawartch w pliku (plikach) katalogu
+			<filename>/etc/cron.daily</filename> raz dzienie (o godz.
+			01:02):
+		</para>
+		<screen>02 1 * * *      /bin/run-parts /etc/cron.daily</screen>
+		<para>
+			Wykonanie poleceń zawartych w pliku (plikach) katalogu
+			<filename>/etc/cron.weekly</filename> raz w tygodniu (w
+			niedziele o godz. 02:02):
+		</para>
+		<screen>02 2 * * 0      /bin/run-parts /etc/cron.weekly</screen>
+		<para>
+			Wykonanie poleceń zawartych w pliku (plikach) katalogu
+			<filename>/etc/cron.monthly</filename> raz na miesiąc
+			(w pierwszy dzień miesiąca o godz. 03:02):
+		</para>
+		<screen>02 3 1 * *      /bin/run-parts /etc/cron.monthly</screen>
+		<para>
+			Wykonanie poleceń zawartych w pliku (plikach) katalogu
+			<filename>/etc/cron.gielda</filename> raz dziennie w dni
+			robocze (od poniedziałku do piątku o godz. 18:15):
+		</para>
+		<screen>15 18 * * 1-5   /bin/run-parts /etc/cron.gielda</screen>
+		<para>
+			Wykonanie poleceń zawartych w pliku (plikach) katalogu
+			<filename>/etc/cron.10min</filename> co 10 minut (każdego
+			dnia, zaczynając od pełnej godziny - czyli np. 01:00, 01:10,
+			01:20 itd.):
+		</para>
+		<screen>0-59/10 * * * * /bin/run-parts /etc/cron.10min</screen>
+	</section>
+
+
+	<section id="uslugi_cron_konfiguracja_uzytkownika">
+		<title>Tabele użytkowników</title>
+		<para>
+			Domyślnie użytkownicy nie mogą tworzyć własnych zadań cron-a,
+			aby im na to zezwolić każdy nich musi zostać dopisany do pliku
+			<filename>/etc/cron/cron.allow</filename>.
+		</para>
+		<para>
+			Użytkownicy powinni używać narzędzia <command>crontab</command>,
+			program ten pozwala na bardzo łatwe zarządzanie tabelą użytkownika.
+			Przyjmuje parametry określające rodzaj działania, które ma
+			być wykonane na tabeli.	Polecenie <command>crontab -l</command>
+			wyświetla listę zdefiniowanych zadań, wywołanie
+			<command>crontab -e</command> otworzy plik konfiguracji do edycji,
+			zaś <command>crontab -r</command> usunie całą zawartość konfiguracji
+			użytkownika.
+		</para>
+		<para>		
+			Wybranie opcji edycji tabeli spowoduje otworzenie edytora tekstu
+			określonego zmienną środowiskową <emphasis>EDITOR</emphasis>, po
+			skończonej edycji plik zostanie automatycznie poddany kontroli
+			poprawności i zapisany jako
+			<filename>/var/spool/cron/{$login}</filename>.
+			Najczęściej popełniane błędy przez użytkowników to zły
+			format daty/czasu lub brak znaku nowej linii po ostatnim
+			wierszu.
+		</para>
+		<para>		
+			Root ma dodatkowo do dyspozycji możliwość zarządzania zadaniami
+			dowolnego użytkownika, w tym celu stosuje się opcję
+			<command>-u</command> z podaną nazwą użytkownika.
+		</para>
+	</section>
+	
+	
+	<section id="uslugi_cron_konfiguracja_komunikaty">
+		<title>Komunikaty cron-a</title>
+		<para>
+			Cron rejestruje wszystkie swoje prace do pliku
+			<filename>/var/log/cron</filename> za pośrednictwem demona
+			<productname>syslogd</productname>,
+			dodatkowo można wskazać adres e-mail, na który
+			mają docierać informacje o wystąpieniu błędów w wykonywaniu
+			zadań. Jeśli nie zdefiniuje zmiennej <literal>MAILTO</literal>
+			w tabeli to poczta zostanie wysłana na lokalne konto
+			właściciela tej tabeli.
+			Poczta elektroniczna jest jedyną formą informowania
+			zwykłych użytkowników o ewentualnych błędach zadań, gdyż 
+			nie mają oni dostępu do logów.
+		</para>
+		<para>
+			Wysyłanie poczty elektronicznej zarówno do użytkowników
+			lokalnych jak i zewnętrznych będzie wymagało instalacji
+			lokalnego serwera poczty MTA. Może to być niemal dowolny
+			demon pocztowy, np.: Exim (opis w
+			<xref linkend="uslugi_exim" />) lub Postfix (opis w
+			<xref linkend="uslugi_postfix" />).
+		</para>
+	</section>
 </section>



Więcej informacji o liście dyskusyjnej pld-doc