Jaka jest różnica między /etc/cron.d a / var / spool / cron?

24

Crontabs na RHEL wydają się być powielone w dwóch miejscach /etc/cron.d, i /var/spool/cron. Sprawdziłem i żadne z nich nie jest linkami prostymi do drugiego i żaden z cronów nie jest zawarty w żadnej lokalizacji.

Wydaje mi się, że moim najważniejszym pytaniem jest to, która z tych dwóch jest autorytatywną lokalizacją? Gdybym miał edytować plik tylko w jednym z tych dwóch, który musiałbym dokonać edycji, aby go wykonać?

Bart B.
źródło
1
Nie zapomnij o / etc / crontab!
mdpc

Odpowiedzi:

31

/var/spool/cronjest miejscem, w którym żyją crontabs poszczególnych użytkowników. Jako użytkownik crontab -eedytuje odpowiedni plik w /var/spool/cron.

/etc/cron.dto katalog skanowany w poszukiwaniu modułowych plików crontab. Składnia jest nieco inna dla plików w tym katalogu. Wpisy cron mają dodatkowe pole userdo uruchomienia wpisów cron jako. Jest to to samo, co /etc/crontabplik systemowy .

Zobacz dokumentację RedHat tutaj: http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/ch-autotasks.html

ewwhite
źródło
7
Dodanie, że pliki w /etc/cron.d/ są w rzeczywistości własnością wszystkich użytkowników root (a zatem nie są plikami cron użytkownika); te pliki NIE są uruchamiane „przez crona” - są uruchamiane przez zadanie crona, które przegląda te pliki.
adapttr