Apa yang dilakukan skrip pengguna dalam folder cron? (yaitu cron.daily, cron.hourly, dll)

51

Jika saya meletakkan skrip di /etc/cron.daily di CentOS, pengguna apa yang akan dijalankan? Apakah semuanya dijalankan sebagai root atau sebagai pemilik?

Kyle MacFarlane
sumber

Jawaban:

52

Mereka semua berlari seperti root. Jika Anda perlu sebaliknya, gunakan sudalam skrip atau tambahkan entri crontab ke crontab pengguna ( man crontab) atau crontab di seluruh sistem (yang lokasinya tidak bisa saya ceritakan pada CentOS).

geekosaurus
sumber
17

Sunting: jawaban saya sebenarnya tidak berlaku dalam hal ini, lihat komentar Zoredache di bawah ini. Maaf, semuanya (esp. Geekosaur). Kyle, perhatikan bahwa jika Anda ingin menjalankan skrip secara teratur sebagai pengguna non-root, berikut ini mungkin bermanfaat; lakukan saja melalui cron.d daripada cron. {jam, harian, mingguan, bulanan}.

Saya benci untuk menentang, tetapi saya khawatir geekosaurus tidak tepat. Mereka dijalankan sebagai root kecuali jika ditentukan sebaliknya . Inilah bagian dari /etc/cron.d/muninfile kotak CentOS saya :

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

Perhatikan bagaimana, pada baris substantif (baris 3), ada nama pengguna yang ditentukan sebelum dieksekusi. Entri cron khusus ini berjalan sebagai munin pengguna, jadi asalkan cron Anda mirip dengan CentOS 5 (vixie-cron-4.1-77), Anda harus dapat melakukan hal yang sama.

MadHatter mendukung Monica
sumber
3
Dia tampaknya berbicara secara khusus tentang cron.daily dan cron. Setiap minggu, dan bukan hal-hal di cron.d / *.
Zoredache
4
Doh! Terima kasih, Zoredache; Saya harus membaca pertanyaan lebih hati-hati. Belum ada kopi! Saya akan menghapusnya, tapi saya pikir masih ada informasi yang berguna dalam jawaban saya - tidak hanya untuk OP - jadi saya agak cenderung membiarkannya. Bagaimana menurut anda? (Maaf karena salah masuk, geekosaur).
MadHatter mendukung Monica
geekosaur menjawab pertanyaan dasar saya, tetapi saya tidak pernah tahu untuk apa folder cron.d sebenarnya. cron.daily, dll agak jelas, seperti crontab. Tapi di mana cron.d duduk di dalamnya?
Kyle MacFarlane
1
Anda telah memahami bahwa gagasan untuk menggunakan direktori daripada file individual untuk menyimpan koleksi adalah membuatnya lebih mudah bagi sebuah paket untuk menambahkan entri: cukup taruh file ke dalam sebuah dir, daripada mencoba beberapa permintaan khusus untuk mengedit potongan. teks masuk dan keluar dari file ...
MadHatter mendukung Monica
... Dalam kasus munin, perlu menjalankan pekerjaan setiap lima menit, dan bukan sebagai root. Itu adalah contoh sempurna mengapa cron. {Setiap jam, dll.) Tidak cocok untuk semua orang; beberapa pekerjaan cron masih ingin dapat menentukan frekuensi, dan mungkin pengguna, dan bagi mereka, cron.d lebih baik. Yang lain tidak, dan bagi mereka, cron. {Jam, dll.} Lebih sederhana, karena mereka hanya membuang skrip alih-alih skrip ditambah pembungkus pengaturan waktu / pengguna.
MadHatter mendukung Monica