Restart cron setelah mengubah file crontab?


433

Apakah saya harus me-restart cron setelah mengubah file crontable?


8
Bukan untuk mengabaikan jawaban @ leonbloy, tetapi saya menemukan bahwa menerapkan pekerjaan cron pertama linux saya (pekerjaan per menit yang diformat dengan benar) tidak bekerja sampai sistem di-reboot. sudo service cron restarttidak diuji.
geoteori

1
@geotheory yikes Saya yakin saya tidak perlu me-restart server prod saya setiap kali saya memperbarui crontab saya (dan saya tidak).
jcollum

Jawaban:


614

Tidak.

Dari halaman manual cron :

... cron akan memeriksa waktu modifikasi pada semua crontab dan memuat ulang yang telah berubah. Dengan demikian cron tidak perlu direstart setiap kali file crontab dimodifikasi

Tetapi jika Anda hanya ingin memastikan itu dilakukan,

sudo service cron reload

atau

/etc/init.d/cron reload

10
Jika menggunakan folder cron.d, crontab symlink tidak akan dimuat ulang. Bagaimana saya bisa memaksa memuat ulang?
CMCDragonkai

13
Ah itu mudah. Sekarang sudo service cron restart.
CMCDragonkai

21
Opsi yang lebih baik adalah memuat ulang - ini dapat diprakarsai oleh pengguna non-root:/etc/init.d/cron reload
Honza

8
@CMCDragonkai Mungkin crondbukan cron.
Cees Timmerman

33
Satu-satunya masalah dengan jawaban ini adalah bahwa itu tidak selalu benar. Lihat komentar geotheory di bawah pertanyaan. Saya juga sedikit kesal dengan ini. Saya membuat perubahan ke file crontab via sudo crontab -e, menyimpan perubahan dengan Ctrl + X, dan pergi dengan asumsi cronakan mengambilnya (karena jawaban ini sangat sangat tervotasikan). Kemudian, beberapa hari kemudian klien saya melaporkan bahwa cron masih berjalan pada siklus yang lama. Jadi - jujur ​​- jika Anda ingin aman - restart saja cronatau sistem, dan jangan bermain-main dengan pengujian waktu yang sia-sia, yang harus Anda lakukan terlepas dari jawaban yang sangat populer ini.
Dan Nissenbaum

53

Pada CentOS dengan cPanel sudo /etc/init.d/crond reloadmelakukan trik.

Pada CentOS7: sudo systemctl start crond.service


3
Terima kasih untuk saluran CentOs 7
Mathieu de Lorimier

1
//, Untuk memuat ulang crond, bukan hanya memulainya pada systemd yang semakin mengerikan, jalankan sudo systemctl reload crond.service.
Nathan Basanese

@NathanBasanese Muat Ulang crondi SystemD sekarang dianggap sebagai ilmu hitam: sudo systemctl reload crondgagal dengan Failed to reload cron.service: Job type reload is not applicable for unit cron.service.(Ubuntu 18.04). Baca: Hentikan, kita semua dipengaruhi oleh sindrom: "SystemD, hanya ada satu". Jika memuat ulang tidak dilakukan secara otomatis di belakang layar, Anda gagal! Jangan pernah berpikir untuk memperbaikinya, seperti yang Anda lakukan selama 3 (atau lebih) dekade terakhir! Baca: Dunia Windows akhirnya menelan Debian: Jika ada sesuatu yang aneh di bawah tenda, apa yang akan Anda lakukan? Mengulang kembali!
Tino

Restart lebih dari sekadar memuat ulang. Apakah tidak ada opsi isi ulang yang bersih untuk Centos?
Ωmega

@Tino, Anda dapat menginstal kroni
Bob

27

Saya memiliki masalah serupa pada 16,04 VPS Digital Ocean. Jika Anda mengganti crontab, pastikan untuk menjalankannya

sudo service cron restart 

Ini berhasil untuk saya. Terima kasih
Tien Nguyen

Saya hanya melihat reloadsudah cukup. Tidak perlu restart. Terima kasih. :)
Tien Nguyen

12

Bergantung pada distribusi, menggunakan "cron reload" mungkin tidak melakukan apa-apa. Untuk menempelkan cuplikan dari init.d / cron (debian squeeze):

reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron"
    # cron reloads automatically
    log_end_msg 0
    ;;

Beberapa pengembang / pengelola mengandalkannya memuat ulang, tetapi tidak, dan dalam hal ini tidak ada cara untuk memaksa memuat ulang. Saya membuat file crontab sebagai bagian dari penggunaan, dan kecuali panjang file berubah, perubahan tidak dimuat ulang.


9

coba yang ini untuk centos 7: service crond reload


6

Coba ini: sudo cron reload Ini berfungsi untuk saya di ubuntu 12.10


Tidak bekerja pada saya Raspberry Pi 3+ dengan Ubuntu 18.04.2 LTS
Jan

3

Coba ini service crond restart:, Maka itu crondbukan cron.


crondlayanan tidak dikenal. Ini bekerja dengancron untuk saya. OS saya adalah Ubuntu 18.04
Tien Nguyen

1

Ada beberapa contoh di mana cron perlu direstart agar skrip start up berfungsi. Tidak ada yang salah dalam memulai ulang cron.

sudo restart layanan cron


0

1) Jika /var/spool/cron/crontabs/rootmengedit file melalui klien SFTP - perlu service cron restart. Muat ulang layanan tidak berfungsi.

2) Jika mengedit file /var/spool/cron/crontabs/rootmelalui konsol linux (nano, mc) - restart TIDAK perlu.

3) Jika mengedit cron via crontab -e- restart TIDAK perlu.


0

Ubuntu 18.04 * Penggunaan: /etc/init.d/cron {start | stop | status | restart | reload | force-reload}

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.