System Crontab lub Root Crontab

10

Crontab systemu:

/etc/crontab

Korzeń Crontab:

sudo crontab -u root -e

Który sposób jest preferowany? Ponieważ wszystkie uruchamiają zadania z uprawnieniami administratora.

Pei Z
źródło

Odpowiedzi:

15

/etc/crontab to systemowy crontab.

Format /etc/crontabjest następujący:

# m h dom mon dow user      command
*   *  *   *   *  someuser  echo 'foo'

chociaż crontab -ejest na użytkownika, warto wspomnieć bez -uargumentu, ż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 rootnie będzie edytować /etc/crontab Zobacz Konfigurowanie crona .

W dystrybucjach Linuxa crontabs na użytkownika są zwykle przechowywane w: /var/spool/crontabs/<username>

Bibliografia

/superuser/290093/difference-between-etc-crontab-and-crontab-e

Ramesh
źródło
2
Jak mówi coniruring cron : zwykle nie ma potrzeby tworzenia crontab użytkownika dla roota. Czy to prawda? Mam na myśli, że standardowym sposobem jest edycja / etc / crontab, mam rację?
Pei Z
2
Nie ma „standardowego” sposobu, więc możesz mieć oba pliki. Zwykle edytuję crontab roota i unikam, /etc/crontabbo jestem do tego przyzwyczajonycrontab -e
phoops
7

/etc/cron.d (i jego rodzeństwo cron.daily / weekly / month) jest preferowany dla wszystkich crontabs systemowych. Nie powinieneś dotykać / etc / crontab.

Niezbędne jest oddzielenie wpisów cron w wielu plikach, w oparciu o ich funkcjonalność, jeśli planujesz zarządzanie lub automatyzację. Plikami w /etc/cron.d można łatwo zarządzać za pomocą pakietów lub narzędzi do zarządzania konfiguracją, takich jak marionetka i szef kuchni. Crootab Roota OTOH jest praktycznie nie do utrzymania przez nikogo innego niż ludzie.

Krótko mówiąc, do rzeczy systemowych możesz użyć /etc/cron.*. Jeśli jest coś, co chciałbyś zrobić użytkownik root, użyj crontab roota. / etc / crontab powinien pozostać nietknięty i zarządzany przez pakiet.

V13
źródło