NFsec Logo

Zadania cron w CentOS/RHEL 6.x

11/10/2011 w Administracja Brak komentarzy.  (artykuł nr 328, ilość słów: 357)

W

szóstej wersji CentOS’a / Red Hat’a został zmieniony system zarządzania zadaniami za pomocą daemona cron. Dla nieświadomych – za pomocą programu cron jesteśmy w stanie m.in. rotować dzienniki systemowe, indeksować pliki w systemie, czy uruchamiać skrypty o określonych porach (najczęściej w takich, w których serwer nie jest zajęty wykonywaniem „ważniejszych” rzeczy). A co zostało zmienione w kolejnym wydaniu tych systemów?

W poprzedniej 5’tej wersji za zarządzanie zadaniami cron’a w głównej mierze był odpowiedzialny plik /etc/crontab. Niestety w tej wersji plik ten jest pusty. Za to w standardowym wydaniu zainstalowany został pakiet anacron, który przejął zarządzanie zadaniami systemowymi. Problem w tym, że anacron został w pierwotnym zamyśle stworzony dla systemów, które nie są uruchomione 24/7 – czyli o przeznaczeniu desktop lub workstation. Nie do końca jest jasne dlaczego Red Hat wybrał ten program dla systemu klasy enterprise z przeznaczeniem głównie dla serwerów działających przez całe lata.

W dodatku anacron nie posiada własnego daemona – i tak wywoływany przez standardowy crond – np. przez plik 0anacron umieszczony w /etc/cron.hourly. Cały anacron jest konfigurowany przez plik /etc/anacrontab – wykonuje on zadania umieszczone w ścieżkach /etc/cron.daily | weekly | monthly:

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=20-22
 
#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

Jeśli chcemy wrócić do starej szkoły i ponownie ujrzeć plik /etc/cron.d/dailyjobs wystarczy zainstalować pakiet pozbawiony anacron:

yum install cronie-noanacron

Oraz usunąć standardowy pakiet:

yum remove cronie-anacron

Na końcu należy zadbać o uruchomienie usługi i dodaniu jej do odpowiednich runleveli systemu:

service crond start
chkconfig crond on

Więcej informacji: anac(h)ronistic cron

Kategorie K a t e g o r i e : Administracja

Tagi T a g i : , , , , , ,

Zostaw odpowiedź.

Musisz być zalogowany by móc komentować.