Jaka jest różnica między znajdującym się w /etc/crontab
nim plikiem crontab a plikiem crontab, które można edytować za pomocą crontab -e
?
Jak powiedział Ignacio, /etc/crontab
jest to systemowy crontab.
Format /etc/crontab
jest następujący:
# m h dom mon dow user command
* * * * * someuser echo 'foo'
chociaż crontab -e
jest na użytkownika, warto wspomnieć bez -u
argumentu, że komenda crontab trafia do crontabu obecnych użytkowników. Możesz zrobić, crontab -e -u <username>
aby edytować crontab określonego użytkownika.
Zauważ, że w tabeli crontab na użytkownika nie ma pola „użytkownik”.
# m h dom mon dow command
* * * * * echo 'foo'
Aspekt crontabów, który może być mylący, polega na tym, że root ma również własną crontab. np. crontab -e -u root
nie będzie edytować /etc/crontab
Zobacz Konfigurowanie crona .
W większości dystrybucji Linuksa pliki crontab na użytkownika są zwykle przechowywane w: /var/spool/cron/crontabs/<username>
(vixie-cron).
Dystrybucje oparte na RHEL są przechowywane w /var/spool/cron/<username>
. (cronie)
/var/spool/cron/root
pliku crontab użytkownika root na systemie RHEL 6. Nie sprawdziłem Ubuntu, ale powiedzenie „zazwyczaj” wydaje się nieco skomplikowane.path[crontabs]
w bibliotece „ścieżek” CFEngine i sprawdź kontekst (poprzednie linie kontekstu wyglądają npredhat::
.). Jest więcej odmian niż myślisz; np. SUSE je umieszcza/var/spool/cron/tabs
. (Wyodrębnianie różnic dystrybucyjnych jest jednym z powodów, dla których CFEngine zostało pierwotnie stworzone, więc często jest to dobre odniesienie.)Jeden to crontab systemowy i może być edytowany tylko przez root, a drugi to crontab użytkownika i może być edytowany przez użytkownika i istnieje dla każdego użytkownika.
źródło