OnWorks Linux i Windows Online WorkStation

logo

Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

Dobrym pomysłem jest wybranie dziwnych czasów wykonania, ponieważ zadania systemowe są często uruchamiane o „okrągłych” godzinach, jak widać w Sekcji 4.4.4 w następnej sekcji. Na przykład zadania są często uruchamiane dokładnie o godzinie 1 w nocy (np. indeksowanie systemu w celu aktualizacji standardowej bazy danych lokalizacji), więc wprowadzenie godziny 0100 może z łatwością spowolnić system, zamiast go uruchamiać. Aby zapobiec jednoczesnemu uruchamianiu wszystkich zadań, możesz także użyć metody partia polecenie, które kolejkuje procesy i zasila system w równomiernie zrównoważony sposób, zapobiegając nadmiernemu wykorzystaniu zasobów systemowych. Więcej informacji można znaleźć na stronach informacyjnych.


obraz

4.4.4. Cron i crontab


System cron jest zarządzany przez cron demon. Otrzymuje informacje o tym, które programy i kiedy powinny być uruchamiane, z wpisów crontab systemu i użytkowników. Tylko użytkownik root ma dostęp do systemowych crontabów, podczas gdy każdy użytkownik powinien mieć dostęp tylko do swoich własnych crontabów. W niektórych systemach (niektórzy) użytkownicy mogą nie mieć dostępu do narzędzia cron.


Podczas uruchamiania systemu demon cron wyszukuje / var / spool / cron / dla wpisów crontab, których nazwy pochodzą od kont w / Etc / passwd, szuka /etc/cron.d/ i szuka / etc / crontab, a następnie co minutę wykorzystuje te informacje, aby sprawdzić, czy jest coś do zrobienia. Wykonuje polecenia jako użytkownik będący właścicielem pliku crontab i wysyła e-mailem wszelkie wyniki poleceń do właściciela.


W systemach korzystających z Vixie cron zadania wykonywane co godzinę, codziennie, co tydzień i co miesiąc są przechowywane w oddzielnych katalogach / Etc aby zachować przegląd, w przeciwieństwie do standardowej funkcji cron UNIX, gdzie wszystkie zadania są zapisywane w jednym dużym pliku.


Przykład pliku crontab Vixie:


[root@blob /etc]# więcej crontaba SHELL=/bin/bash ŚCIEŻKA=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

DOM=/


# części eksploatacyjne

# polecenia do wykonania co godzinę

01 * * * * główne części uruchomieniowe /etc/cron.hourly

# polecenia do wykonania każdego dnia

02 4 * * * główne części uruchomieniowe /etc/cron.daily

# polecenia do wykonania co tydzień

22 4 * * 0 poleceń root run-parts /etc/cron.weekly do wykonywania co miesiąc

42 4 1 * * root run-parts /etc/cron.monthly

[root@blob /etc]# więcej crontaba SHELL=/bin/bash ŚCIEŻKA=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

DOM=/


# części eksploatacyjne

# polecenia do wykonania co godzinę

01 * * * * główne części uruchomieniowe /etc/cron.hourly

# polecenia do wykonania każdego dnia

02 4 * * * główne części uruchomieniowe /etc/cron.daily

# polecenia do wykonania co tydzień

22 4 * * 0 poleceń root run-parts /etc/cron.weekly do wykonywania co miesiąc

42 4 1 * * root run-parts /etc/cron.monthly


obrazalternatywa

Możesz także użyć crontab -l polecenie wyświetlenia crontabów.

Ustawione są pewne zmienne, a następnie następuje faktyczne planowanie, jedna linia na zadanie, zaczynając od 5 pól godziny i daty. Pierwsze pole zawiera minuty (od 0 do 59), drugie określa godzinę wykonania (0-23), trzecie dzień miesiąca (1-31), następnie numer miesiąca (1-12) , ostatni to dzień tygodnia (0-7, zarówno 0, jak i 7 to niedziela). Gwiazdka w tych polach oznacza całkowity dopuszczalny zakres dla danego pola. Listy są dozwolone; aby wykonać zadanie od poniedziałku do piątku wpisz w ostatnie pole 1-5, aby wykonać zadanie w poniedziałek, środę i piątek wpisz 1,3,5.


Potem przychodzi użytkownik, który powinien uruchomić procesy wymienione w ostatniej kolumnie. Powyższy przykład pochodzi z konfiguracji cron Vixie, w której root uruchamia program części biegowe w regularnych odstępach czasu, z odpowiednimi katalogami jako opcjami. W tych katalogach rzeczywiste zadania, które mają zostać wykonane w zaplanowanym czasie, są przechowywane jako skrypty powłoki, takie jak ten mały skrypt uruchamiany codziennie w celu aktualizacji bazy danych używanej przez zlokalizować polecenie:


billy@ahost cron.daily]$ kot slocate.cron

#! / Bin / sh

renice +19 -p $$ >/dev/null 2>&1

/usr/bin/updatedb -f "nfs,smbfs,ncpfs,proc,devpts" -e \ "/tmp,/var/tmp, /usr/tmp,/afs,/net"

billy@ahost cron.daily]$ kot slocate.cron

#! / Bin / sh

renice +19 -p $$ >/dev/null 2>&1

/usr/bin/updatedb -f "nfs,smbfs,ncpfs,proc,devpts" -e \ "/tmp,/var/tmp, /usr/tmp,/afs,/net"

Użytkownicy powinni edytować swoje pliki crontab w bezpieczny sposób, korzystając z pliku crontab -e Komenda. Zapobiegnie to przypadkowemu otwarciu więcej niż jednej kopii pliku crontab przez użytkownika. Domyślnym edytorem jest vi (zobacz rozdział 6, ale możesz użyć dowolnego edytora tekstu, np gwim or gedit jeśli czujesz się bardziej komfortowo korzystając z edytora GUI.


Po wyjściu system poinformuje Cię, że zainstalowano nowy plik crontab.


Przypomina to wpis crontab menażka chodzić do jego klubu sportowego w każdy czwartkowy wieczór:


Billy:~> crontab -l

# NIE EDYTUJ TEGO PLIKU - edytuj plik główny i zainstaluj ponownie.

# (/tmp/crontab.20264 zainstalowany w niedzielę 20 lipca 22 o godzinie 35:14:2003)

Billy:~> crontab -l

# NIE EDYTUJ TEGO PLIKU - edytuj plik główny i zainstaluj ponownie.

# (/tmp/crontab.20264 zainstalowany w niedzielę 20 lipca 22 o godzinie 35:14:2003)


# (Wersja Cron -- $Id: chap4.xml, v 1.28 2007/09/19 12:22:26 do Exp $)

38 16 * * 3 mail -s „wieczór sportowy” Billy

# (Wersja Cron -- $Id: chap4.xml, v 1.28 2007/09/19 12:22:26 do Exp $)

38 16 * * 3 mail -s „wieczór sportowy” Billy

Po dodaniu nowego zaplanowanego zadania system poinformuje Cię o zainstalowaniu nowego crontaba. Nie ma potrzeby ponownego uruchamiania cron demon, aby zmiany odniosły skutek. W przykładzie menażka dodano nową linię wskazującą na skrypt zapasowy:


Billy:~> crontab -e

45 15 * * 3 mail -s „wieczór sportowy” Billy

4 4 * * 4,7 /home/billy/bin/backup.sh


<--pisz i wyjdź-->

crontab: instalowanie nowego crontaba billy:~>

Billy:~> crontab -e

45 15 * * 3 mail -s „wieczór sportowy” Billy

4 4 * * 4,7 /home/billy/bin/backup.sh


<--pisz i wyjdź-->

crontab: instalowanie nowego crontaba billy:~>

Połączenia backup.sh skrypt jest wykonywany w każdy czwartek i niedzielę. Wprowadzenie do skryptów powłoki znajdziesz w Sekcji 7.2.5. Należy pamiętać, że wynik poleceń, jeśli istnieją, jest wysyłany pocztą do właściciela pliku crontab. Jeśli nie skonfigurowano żadnej usługi pocztowej, wynik poleceń możesz znaleźć w lokalnej skrzynce pocztowej,

/var/szpula/poczta/ , zwykły plik tekstowy.


Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: