ฉันต้องรีเฟรชหรือรีสตาร์ทอะไรหลังจากที่ฉันเพิ่ม / อัปเดต crontab ใน Ubuntu Server 8.04 หรือไม่?


32

เมื่อคุณเปลี่ยนบางสิ่งบางอย่างใน Apache คุณต้องโหลดใหม่หรือรีสตาร์ท apache จำเป็นต้องรีเฟรชหรือรีสตาร์ทใน Ubuntu Server 8.04 หลังจากฉันเพิ่ม / อัพเดท crontab หรือไม่? ขอบคุณสำหรับความช่วยเหลือของคุณ

คำตอบ:


40

ไม่ตราบใดที่คุณใช้crontab -eคำสั่งเพื่อแก้ไขไฟล์เมื่อคุณบันทึกคุณจะได้รับข้อความ 'ติดตั้ง Crontab ใหม่' แค่นั้นแหละ.


1
เช่นเดียวกับcrontab <filename>- และcrontab -rสำหรับเรื่องนั้น
Keith Thompson

4
แต่ถ้าคุณไม่ได้ใช้crontab -eเพื่อแก้ไขไฟล์ล่ะ
user5359531

มันควรจะยังคงทำงานถ้าคุณแก้ไขไฟล์โดยตรงสมมติว่าคุณมีสิทธิ์ในการทำเช่นนั้น ยังคงแนะนำให้ใช้คำสั่ง crontab
Safado

@ user5359531 หากคุณต้องการรีสตาร์ท cron ด้วยเหตุผลใดก็ตาม (ซึ่งจะบังคับให้โหลดไฟล์ crontab อีกครั้ง) ดูคำถาม SO นี้: stackoverflow.com/questions/10193788//
JoLoCo

6

สิ่งปกติคือการใช้crontab -eเพื่อแก้ไขตาราง การเปลี่ยนแปลงจะถูกนำไปใช้เมื่อคุณออกจากโปรแกรมแก้ไข ไม่เช่นนั้นกฎสำหรับการอ่าน crontabs ที่ถูกเปลี่ยนจะอยู่ในcron(8)man page พวกเขาจะถูกอ่านอีกครั้งในที่สุดคุณไม่จำเป็นต้องทำอะไรเลย


2

เป็นสิ่งสำคัญที่คุณต้องอธิบายอย่างละเอียดว่าคุณเพิ่ม crons อย่างไร แต่ฉันคิดว่าสิ่งต่อไปนี้จะจัดการกับสถานการณ์ใด ๆ

ใช่cronจำเป็นต้องรับทราบว่าคุณได้ทำการเปลี่ยนแปลง แต่ไม่คุณไม่จำเป็นต้องทำสิ่งใดอย่างชัดเจนเพื่ออัปเดต

ฉันถอดความcronคู่มือที่นี่สำหรับรุ่นสั้น:

ตามที่ระบุไว้crontab -eวิธีการที่ต้องการจะแจ้งให้ทราบcronว่ามีบางสิ่งเปลี่ยนแปลง

อย่างไรก็ตามcron"ตื่นขึ้น" ทุกนาทีเพื่อดูว่ามีงานสำหรับนาทีนั้นหรือไม่ นอกจากนี้ยังสแกน/var/spool/cron/crontabsและจะโหลดไฟล์ใด ๆ ด้วย 'mtime' ที่อัปเดต (เวลาที่แก้ไขหมายถึงเนื้อหาไฟล์จะต้องได้รับการอัปเดต)

ดังนั้นในทางทฤษฎีถ้าคุณไม่ทำอะไรเลยcronจะ "ตื่นขึ้น" /var/spool/cron/crontabsและเห็นคุณทำให้มีการเปลี่ยนแปลงอะไรโดยตรงใน

crontab -eแต่ถ้าคุณสามารถใช้ เมื่อคุณแก้ไขเสร็จแล้วมันยังให้ข้อเสนอแนะว่ามีการอัปเดตมันบอกว่า:

    crontab: installing new crontab

crontabโดยเฉพาะที่นี้หมายถึงว่ามันสดชื่นสำเนาในหน่วยความจำสำหรับไฟล์ที่คุณเพิ่งแก้ไขผ่านทาง

นี่เป็นคำพูดจากคู่มือ CRON (8):

    cron searches its spool area (/var/spool/cron/crontabs) for
    crontab files (which are named after accounts in /etc/passwd);
    crontabs found are loaded into memory.  Note that crontabs in this
    directory should not be accessed directly - the crontab command
    should be used to access and update them.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.