จำเป็นต้องรีสตาร์ท cron หรือ crond หลังจากการเพิ่มหรือแก้ไขกำหนดการใหม่แต่ละครั้งหรือไม่


29

เมื่อฉันกำหนดเวลางานบางอย่างดูเหมือนจะถูกนำไปใช้ทันทีในขณะที่งานอื่นหลังจากรีบูต ดังนั้นแนะนำให้รีสตาร์ทcron( crond) หลังจากเพิ่มงาน cron ใหม่หรือไม่ วิธีการทำอย่างถูกต้อง (โดยเฉพาะในระบบเดเบียน) และควรทำอย่างไรกับsudo(เช่นsudo service cron restart) สำหรับผู้ใช้ปกติ?

ฉันเหนื่อย:

/etc/init.d/cron restart

ซึ่งดูเหมือนจะใช้งานไม่ได้ ( /etc/init.d/cron stopหรือไม่service cron stop) และเสร็จสิ้นด้วยรหัสส่งคืน 1

นี่เป็นส่วนหนึ่งของการส่งข้อความ:

เนื่องจากสคริปต์ที่คุณพยายามเรียกใช้ถูกแปลงเป็นงานพุ่งพรวดคุณอาจใช้ยูทิลิตี stop (8) เช่น stop cron stop: ส่งข้อความที่ถูกปฏิเสธ 1 กฎที่ถูกจับคู่ type = "method_call", sender = ": 1.91" (uid = 1000 pid = 3647 comm = "stop cron") อินเตอร์เฟส = "com.ubuntu.Upstart0_6.Job" สมาชิก = "หยุด" ชื่อข้อผิดพลาด = "(ไม่ได้ตั้งค่า)" Request_reply = "0" destination = "com.ubuntu.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")

(นั่นหมายความว่าอย่างไร?)

คำตอบ:


18

ไม่คุณไม่ต้องรีสตาร์ทcronเลยมันจะสังเกตเห็นการเปลี่ยนแปลงของไฟล์ crontab ของคุณ ( /etc/crontabหรือไฟล์ crontab ของผู้ใช้)

ที่ด้านบนสุดของ / etc / crontab ของคุณคุณอาจมี (ถ้าคุณมีการใช้ Vixie ของcronIIRC นั้นเป็นบน 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.

เหตุผลที่คุณอาจไม่เห็นการเปลี่ยนแปลงเฉพาะที่นำมาใช้คือถ้าคุณเพิ่มสิ่งต่าง ๆ เช่น/etc/cron.dailyและการดำเนินการรายวันได้เกิดขึ้นแล้ว

ข้อความที่คุณได้รับคือคุณใช้วิธีการรีสตาร์ท cron แบบเดิมในระบบของคุณ วิธีที่แนะนำ (แต่ไม่จำเป็นถ้าคุณเพิ่งแก้ไขไฟล์ cron) คือ:

 restart cron

แน่นอนคุณต้องรีบูตเพื่อดูผลกระทบของงาน @reboot cron


มันไม่ได้เป็นงานรีบูต แต่ทุกnนาที cron งาน .. และเริ่มต้นใหม่ดูเหมือนว่าจะทำงานร่วมกับ sudo กับทั้งวิธีการเดิมและใหม่ .. แต่ไม่ได้สำหรับผู้ใช้ปกติ ..
แม่นยำ

คุณจะแก้ไข crontab ได้อย่างไร ในฐานะผู้ใช้ด้วยcrontab -e?
Timo

ใช่ .. crontab -eคือสิ่งที่ฉันใช้ ..
แม่นยำ

คุณมี Vixie Cron ไหม (ดูที่man cron-> ชื่อ)
Timo

1
ดูเหมือนว่าการบันทึกการเปลี่ยนแปลงนั้นไม่เพียงพอและงานที่กำหนดไว้จะใช้งานหลังจากตัวแก้ไขข้อความ (ฉันใช้nano) ก็ปิดเช่นกัน! .. และอาจทำให้เกิดความสับสน ...
แม่นยำ

3

การรีสตาร์ทอาจไม่จำเป็น เช่นเดียวกับที่ผมกล่าวในความคิดเห็นของฉันแก้ไขข้อความที่คุณใช้ (หนึ่งที่กำหนดสำหรับการแก้ไข cron-งาน) เพื่อแก้ไขงานที่ตอบสนองความต้องการที่จะปิด ; เพียงแค่การบันทึกเนื้อหาที่ไม่เพียงพอ (นั่นคือสิ่งที่ฉันมีประสบการณ์การแก้ไขงานผ่านnanoและการบันทึกด้วยCtrl+ Oโดยที่ไฟล์ยังคงเปิดอยู่จะไม่ใช้การแก้ไขในทันที แต่หลังจากที่ปิดเอดิเตอร์ด้วยCtrl+ X)

และเช่นเดียวกับที่กล่าวถึงในคำตอบนี้ (โดยterdon ) cron daemon จะตรวจสอบทุกนาทีเพื่อดูว่ามีงานใดที่ต้องทำงานและเรียกสิ่งที่มันต้องทำ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.