Apakah restart cron atau crond diperlukan setelah setiap penambahan jadwal atau modifikasi baru?

29

Ketika saya menjadwalkan pekerjaan, beberapa tampaknya langsung diterapkan, sementara yang lain setelah reboot. Jadi direkomendasikan untuk memulai kembali cron( crond) setelah menambahkan tugas cron baru? Bagaimana melakukannya dengan benar (khususnya dalam sistem Debian), dan haruskah itu dilakukan dengan sudo(seperti sudo service cron restart) bahkan untuk pengguna biasa?

Saya mencoba:

/etc/init.d/cron restart

yang tampaknya tidak berfungsi (tidak juga /etc/init.d/cron stopatau service cron stop) dan dilengkapi dengan kode pengembalian 1.

Inilah bagian dari output pesan:

Karena skrip yang Anda coba panggil telah dikonversi ke pekerjaan pemula, Anda juga dapat menggunakan utilitas stop (8), misalnya stop cron stop: Rejected send message, 1 aturan yang cocok; type = "method_call", sender = ": 1.91" (uid = 1000 pid = 3647 comm = "stop cron") interface = "com.ubuntu.Upstart0_6.Job" member = "Stop" error name = "(unset)" asked_reply = "0" destination = "com.ubuntu.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")

(apa artinya?)

tepat
sumber

Jawaban:

18

Tidak, Anda tidak harus memulai ulang cron, itu akan melihat perubahan pada file crontab Anda (salah satu /etc/crontabatau file pengguna crontab).

Di bagian atas / etc / crontab Anda mungkin Anda miliki (jika Anda memiliki implementasi Vixie dari cronIIRC itu adalah yang ada di Debian):

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

Alasan Anda mungkin tidak melihat perubahan spesifik diterapkan adalah jika Anda menambahkan hal-hal ke misalnya /etc/cron.dailydan menjalankan harian sudah terjadi.

Pesan yang Anda dapatkan adalah karena Anda menggunakan cara lama me-restart cron pada sistem Anda. Cara yang disarankan (tetapi tidak perlu jika Anda hanya mengedit file cron) adalah:

 restart cron

Anda tentu saja harus reboot untuk melihat efek dari pekerjaan cron @reboot

Timo
sumber
itu bukan pekerjaan reboot tetapi setiap n menit pekerjaan cron .. dan restart sepertinya bekerja dengan sudo dengan cara lama dan baru .. tetapi tidak untuk pengguna normal ..
tepat
Bagaimana Anda mengedit crontab? Sebagai pengguna crontab -e?
Timo
ya .. crontab -eadalah apa yang saya gunakan ..
tepatnya
Anda punya Vixie Cron (lihat man cron-> Nama)
Timo
1
Tampaknya hanya menyimpan perubahan saja tidak cukup, dan pekerjaan yang dijadwalkan hanya berlaku setelah editor teks (saya gunakan nano) ditutup juga! ..dan mungkin itu yang menyebabkan kebingungan ...
tepatnya
3

Restart mungkin tidak diperlukan. Seperti saya katakan dalam komentar saya yang teks-editor bahwa Anda telah menggunakan (salah satu yang ditugaskan untuk mengedit cron-job) untuk mengedit tugas yang perlu ditutup ; hanya menyimpan konten saja tidak cukup . (Itulah yang saya alami. Mengedit tugas melalui nanodan menyimpan dengan Ctrl+ Odengan file yang masih terbuka tidak segera menerapkan pengeditan, tetapi hanya setelah editor ditutup dengan Ctrl+ X.)

Dan seperti yang disebutkan dalam jawaban ini (oleh terdon ), cron daemon akan memeriksa, setiap menit, untuk melihat apakah ada pekerjaan yang harus dijalankan dan memicu yang harus dilakukan.

tepat
sumber