Linux.pl  :   Newbie   Gry   Biznes   Dystrybucje   Forum   Blog   Wiki   Hosting   Przeglądarka manuali
Newbie - [Linux.pl] - Linux dla początkujących r e k l a m a
  Jesteś niezalogowany.
 Zaloguj się
 Zarejestruj się
 Zapomniałem hasła...
   Artykuły  |  Forum  |  Współpraca  |  Kontakt  |  O nas  |  sobota, 31 lipca 2010 r.   
   Start
 Strona główna
 Artykuły
 Forum dyskusyjne
 Bannery
 Reklama
 Rozdajemy Linuksa!
 Sprawdź czy Twój sprzęt działa pod Linuksem
   Nowe artykuły
Sprzęt
iPlus na Linuksie - pppd: gotowe skrypty do połączenia z internetem (ZTE MF636)
Recenzje
Zastosowania FUSE cz.1 - cmdfs
Sprzęt
Konfiguracja GPS Navibe GM720 do pracy z Kismet
Sprzęt
Instalacja zamkniętego sterownika Nvidia 190.53 na Linux 2.6.33.1
Oprogramowanie
MC: szybkie przełączanie sortowania i coś jeszcze.
Sprzęt
Uruchomienie urządzenia wielofunkcyjnego Brother DCP-585CW na Slackware.
Recenzje
Google Chrome - alternatywa dla Firefoksa
Sprzęt
Modem ZTE MF636 w Orange pod Linuksem

   Nowe komentarze
Konfiguracja GPS Navibe GM720 do pracy z Kismet
Prośba »
2010-06-23 12:19:22 | Frank
Zastosowania FUSE cz.1 - cmdfs
Alternatywy »
2010-06-10 01:34:21 | arctgx
Google Chrome - alternatywa dla Firefoksa
wojtbis »
2010-06-09 12:41:10 | wojtbis
Instalacja zamkniętego sterownika Nvidia 190.53 na Linux 2.6.33.1
Re: Po co sie menczyc !!! »
2010-05-01 00:36:36 | norbert_ramzes
Sabayon Linux 4.2
Wersja 5.2 jest do pobrania! »
2010-03-26 20:17:36 | rysiekmus
MC: szybkie przełączanie sortowania i coś jeszcze.
Źródło »
2010-02-17 02:05:21 | arctgx
openSUSE 10.3 - Partycjonowanie
RADI - system już stoi »
2010-01-16 15:52:28 | bzykotron
Kilka kroków dla początkujących w Ubuntu 8.10
Re: można też tak »
2009-12-25 18:43:52 | gregorb612
Start z Javą i Eclipse
Re: Hmmmmmm »
2009-12-21 11:53:03 | Hirek
Tworzenie doskonałych pakietów dla Slackware.
A może Ktoś opisać więcej dystrybucji - to doskonałe miejsce »
2009-12-19 16:34:16 | 
   Na Linux.pl
Szkolenia, edukacja Testy penetracyjne - szkolenie  (0)


 Sesja Linuksowa 7 - Call for papers  (0)
 Otwarte spotkanie z pracownikami AOL w Krakowie  (2)
 Komputery w szkołach: Linux czy Windows?  (32)
 Linux i kultura niezależna w Krakowie  (1)
 OSEC Barcamp - Architektura Gadu-gadu  (0)
 Arrow ECS Services wprowadza autoryzowane szkolenia z oprogramowania SUSE Linux  (0)
 Nowy Linux+ już do pobrania  (0)

   Forum
 Jakiego Linuksa byście polecili. · [1]
 Problem z wydajnością kontrolera dysku SATA Intel 82801JI / CentOS · [1]
 panel Gnome w Xfce - czy da się tak zrobić? · [4]
 vim - spacje zamiast tabulatorów · [1]
 SAMBA Ubuntu 10.04 LTS · [0]
 Odzyskiwanie danych · [4]
 Kernel, NVIDIA & Ubuntu 10.04 · [9]
 Monitor dodykowy · [6]
 Hasło (uwierzytelnienie) · [3]
 Jak odseparowywać sieci wewnętrzne · [1]
 Sterowniki graficzne - sens instalacji na serwerze. · [4]
 Serwisy, strony, blogi - zawierające opisy narzędzi, tutoriale, itp. · [0]
 Czy Linux w ogóle jest dla mnie? · [21]
 Weconverger i RealVNC · [0]
 Pytanie dotyczące linuxa i komputera · [7]
forum Linux.pl - RSS
   Reklama
   Artykuły i opracowania

Zanim zaczniesz używać Linuksa   [15]
Podstawowe pojęcia [5],
Instalacja Linuksa   [20]
Debian / Ubuntu [4], SUSE [4], Mandriva [0]
Sprzęt   [84]
Sieć / Internet [23], Neostrada [6], Obraz [13]
Oprogramowanie   [66]
Obraz [10], Dźwięk [7], Edycja tekstów [9]
Administracja   [103]
Instalowanie programów [10], Kompilacja jądra [5], Bezpieczeństwo [25]
Programowanie   [6]
Bash [3], Java [3],
Recenzje   [33]
Dystrybucje Linuksa [12], Oprogramowanie [13], Gry [6]
Tutoriale wideo   [5]
Instalacja Linuksa [1], Oprogramowanie [1], Sprzęt [1]


Marek Bujna  |  2003-12-06 21:38:02  | Drukuj  | Zapisz w PDF  | wykop.pl  | KomentarzeDodaj komentarz

Cron - automatyzacja systemu.




Program cron pozwala użytkownikom systemu na uruchomianie programów o podanym czasie lub dacie, z dokładnością do minuty.
Cron powinien być uruchamiany z /etc/rc.d/ odpowiednim skryptem w czasie startu systemu.
Oczywiście w zależności od dystrybucji skrypty w /etc/rc.d/ mają rożną budowę i zasadę działania, dlatego pominę w tym artykule sam sposób startu demona "cron". W ogóle jestem na 99% pewny, że twoja dystrybucja domyślnie ma uruchomionego crona i nic nie musisz już uruchamiać ręcznie...


1. Zasada działania:

Cron przeszukuje pliki "crontab" (plik-tabela) które znajdują sie (domyślnie) w /var/spool/cron/crontabs/ lub (opcja - dotyczy pewnych funkcji administracyjnych) w /etc/ .
Pliki crontab posiadają unikalne nazwy zgodne z nazwami użytkowników i są tworzone i sprawdzane zgodnie z wpisami w /etc/passwd (nie dotyczy plików crontab w /etc/).

Cron budzi się co minutę, sprawdzając wszystkie zapisane tabele, czy przypadkiem jakaś komenda w tej minucie nie powinna być wywołana. Podczas wywoływania komend, wszelkie ich wykonanie jest przesyłane pocztą do właściciela tabeli (lub do użytkownika podanego w zmiennej MAILTO w tabeli, jeśli taki istnieje).

Co minutę sprawdzany jest dodatkowo czas modyfikacji (modtime) plików w /var/spool/cron/crontabs/ (lub czas modyfikacji /etc/crontab) czy był zmieniony. Jeśli tak, to cron sprawdzi czasy modyfikacji tabel i przeładuje wszystkie te, które były ostatnio zmienione. Dlatego nie trzeba restartować crona za każdym razem gdy zmodyfikuje się pliki tabel.


2. Budowa plików crontab:

Wpisy w plikach crontab zbudowane są z 6 pól. Pierwsze 5 pól określa czas wykonania, natomiast 6 pole czynność.

Znaczenie pól:
- Minuta (zakres 0-59)
- Godzina (zakres 0-23)
- Dzień (zakres 0-31)
- Miesiąc (zakres 0-12 lub nazwa, pierwsze 3 litery nazwy angielskiej)
- Dzień_Tygodnia (zakres 0-7 lub nazwa, pierwsze 3 litery nazwy angielskiej)
- Polecenie (reszta linii)

Pole może mieć gwiazdkę (*), czyli wykonuj zawsze.

Dozwolone są zakresy liczb. Zakresy są dwiema liczbami, oddzielonymi myślnikiem. Zakres ten jest domknięty.
np. 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.
np. 1,2,5,9 albo 0-4,8-12
mozna równiez dzielić okresy czasu... np. */2 - wykonanie co 2 jednostki czasu

Przykładowy wpis w crontab:

*/2 * * * *	echo "ten napis pojawia sie w pliku cos.txt co 2 minuty" >> cos.txt

----- przykładowy plik -----

#zmienne potrzebne do wykonania wpisów 
# SHELL - konieczna jeśli ma być inna niż /bin/sh
# MAILTO - zalecane
# PATH i HOME - opcja

SHELL=/bin/csh  # określona powłoka
PATH=/bin:/usr/bin:/usr/local/bin # wywoływanie po nazwie programu, a nie ścieżce
MAILTO=root  # informację o wykonaniu komendy wysyłane są do...
HOME=/home_super  # katalog domowy
 
# uruchamiaj się 5 minut po północy, codziennie
5 0 * * *       $HOME/bin/cs/logi_run >> $HOME/logs/log_cs.txt 2>&1
# uruchamiaj się o 14:15 każdego 1-szego dnia miesiąca i wysyła maila -- wyjście jest
# przesyłane do root-a
15 14 1 * *     mail liga_graczy@killpid.lan < wiadomosci_run
# uruchamiaj się o 20 i 23 w piatek i sobotę i wysyla maila
0 20,23 * * 5-6   mail liga_graczy@killpid.lan < zapisy_na_turniej_run

----- koniec ---------------

3. Program zarządający wpisami w crontab

W celu modyfikacji wpisów w crontab używa się polecenia crontab ;p.

$ crontab --help
crontab 2.3.3
crontab file   zastąp crontab z pliku 
crontab -      zastąp crontab z stdin (klawiatura)
crontab -u user      określ użytkownika
crontab -l [user]    wyświetl crontab dla użytkownika
crontab -e [user]    edytuj crontab dla użytkownika
crontab -d [user]    usuń crontab dla użytkownika
crontab -c dir       określ katalog crontab

Należy pamiętać, że jeśli istnieje plik /etc/cron.allow, użytkownik który ma korzystać z cron-a musi być tam wpisany.

Marek Bujna [killpid@linux.pl]




  Ocena artykułu:          [głosów: 11]


Oceń:  0 1 2 3 4 5   

[15862]
 

 [stats]  |  Copyright © 2003-2010 Linux.plDotacje EUCreated by