Jakiego użytkownika uruchamiają skrypty w folderach cron? (tj. cron.daily, cron.hourly itp.)

51

Jeśli umieściłem skrypt w /etc/cron.daily na CentOS, jaki użytkownik będzie go uruchamiał? Czy wszystkie działają jako root czy jako właściciel?

Kyle MacFarlane
źródło

Odpowiedzi:

52

Wszystkie działają jako root. Jeśli potrzebujesz inaczej, użyj suw skrypcie lub dodaj wpis crontab do crontab użytkownika ( man crontab) lub crontab w całym systemie (którego lokalizacji nie mogłem ci powiedzieć w CentOS).

geekozaur
źródło
17

Edycja: moja odpowiedź tak naprawdę nie ma zastosowania w tym przypadku, patrz komentarz Zoredache'a poniżej. Przepraszam wszystkich (szczególnie geekozaurów). Kyle, pamiętaj, że jeśli chcesz regularnie uruchamiać skrypt jako użytkownik inny niż root, poniższe informacje mogą być pomocne; po prostu zrób to za pomocą cron.d zamiast cron. {co godzinę, codziennie, co tydzień, co miesiąc}.

Nie lubię zaprzeczać, ale obawiam się, że geekozaur nie ma racji. Działają jako root, chyba że podano inaczej . Oto część /etc/cron.d/muninpliku mojego pudełka CentOS :

# cron-jobs for munin
MAILTO=root
1-56/5 * * * *     munin /usr/share/munin/munin-limits --force

Zauważ, że w wierszu merytorycznym (wiersz 3) przed plikiem wykonywalnym podana jest nazwa użytkownika. Ten konkretny wpis cron działa jako użytkownik Munin, więc pod warunkiem, że twój cron jest podobny do CentOS 5 (vixie-cron-4.1-77), powinieneś być w stanie zrobić to samo.

Szalony Kapelusznik
źródło
3
Wydaje się, że mówi on konkretnie o cron.daily i cron.weekly, a nie o rzeczach w cron.d / *.
Zoredache
4
Nie! Dzięki, Zoredache; Powinienem uważniej przeczytać pytanie. Jeszcze nie ma kawy! Usunęłbym to, ale myślę, że w mojej odpowiedzi wciąż znajdują się przydatne informacje - po prostu nie dla OP - więc jestem skłonny dać temu wyraz. Co myślisz? (Przepraszam za niewłaściwe wskoczenie, geekozaur).
MadHatter
geekosaur odpowiedział na moje podstawowe pytanie, ale nigdy nie wiedziałem, po co właściwie jest folder cron.d. cron.daily itp. są dość oczywiste, podobnie jak crontab. Ale gdzie w tym wszystkim jest cron.d?
Kyle MacFarlane
1
Zrozumiałeś już, że pomysł przechowywania katalogów zamiast pojedynczych plików polega na tym, że pakiet może łatwiej dodać wpis: po prostu upuść plik do katalogu, zamiast próbować skomplikowanej inwokacji sed w celu edycji fragmentów tekstu do i z plików ...
MadHatter
... W przypadku Munina musi on uruchamiać zadanie co pięć minut, a nie jako root. To doskonały przykład tego, dlaczego cron. {Co godzinę itp.} Nie jest odpowiedni dla wszystkich; niektóre zadania cron nadal chcą mieć możliwość określenia częstotliwości, a być może użytkownik, a dla nich cron.d jest lepszy. Inni nie, a dla nich cron. {Co godzinę itp.} Jest prostszy, ponieważ po prostu zrzucają skrypt zamiast skryptu plus opakowanie czasowe / użytkownika.
MadHatter