วิธีการเริ่มงาน cron โดยไม่ต้องรีบูต?


11

ฉันใช้งาน cron โทรofflineimapทุก 2 นาที:

*/2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1

ฉันต้องการฆ่างาน cron เพื่อแก้ไขปัญหา ฉันจะเริ่มต้นงาน cron ใหม่ได้อย่างไร (โดยไม่ต้องบูตเครื่องใหม่) ฉันพบ 'โซลูชัน' ออนไลน์:

mylogin@myhost:~$ sudo /etc/init.d/cron restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop cron ; start cron. The restart(8) utility is also available.
cron stop/waiting
cron start/running, process 26958

อย่างไรก็ตามการใช้ps -ef | grep ...ฉันไม่เห็นงาน ... เกิดอะไรขึ้น


งานไหนที่คุณไม่เห็น
Spack

1
เปิดของคุณcrontabแสดงความคิดเห็นออกมาจากงานที่ดำเนินการบำรุงรักษาและจากนั้นมัน uncomment ของคุณ ...
jasonwryan

คำตอบ:


12

วิธี Cron

หากคุณมีสิทธิ์ sudo คุณสามารถหยุด / เริ่มบริการ cron ฉันเชื่อว่านั่นเป็นคำตอบที่คุณพบทางออนไลน์

ขึ้นอยู่กับว่าคุณใช้ Linux distro ใดคุณสามารถทำคำสั่งเหล่านี้ได้:

# redhat distros
$ sudo /etc/init.d/crond stop
... do your work ...
$ sudo /etc/init.d/crond start

หรือทำคำสั่งเหล่านี้:

# Debian/Ubuntu distros
$ sudo service cron stop
... do your work ...
$ sudo service cron start

วิธีล็อคประเภทไฟล์

นอกจากนี้คุณยังสามารถวางไฟล์ "dontrunofflineimap" ไว้ในไดเรกทอรี / tmp เมื่อคุณต้องการให้ภารกิจ offlineimap ออฟไลน์หยุดทำงานและไม่ทำงานสักหน่อย

กระบวนการทำงานเช่นนี้ คุณสัมผัสไฟล์ใน / tmp ดังนี้:

touch /tmp/dontrunofflineimap

งาน cron จะได้รับการแก้ไขดังนี้:

*/2 * * * * [ -f /tmp/dontrunofflineimap ] || /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1

แม้ว่าไฟล์นั้นจะมีอยู่ แต่ก็จะบล็อกofflineimapแอปไม่ให้ทำงานอยู่ เมื่อคุณต้องการให้มันทำงานต่อได้เพียงแค่ลบ/tmp/dontrunofflineimapไฟล์


4

อีกวิธีหนึ่งคือการแก้ไข crontab และแสดงความคิดเห็นออกงานเพื่อปิดการใช้งาน นั่นเป็นเรื่องเล็ก ๆ น้อย ๆ ที่cronอาจมีการจัดตารางเวลางานอื่นเช่นกัน

คำสั่งต่อไปนี้ช่วย:

crontab -e

หากเป็น crontab ของรูทไม่ใช่ผู้ใช้:

sudo crontab -e

ในการใส่ความคิดเห็นออกงานเพิ่ม#ที่จุดเริ่มต้นของบรรทัด แบบนี้:

# */2 * * * * /usr/bin/offlineimap > ~/Maildir/offlineimap.log 2>&1

-1

คุณสามารถอ่านhttp://tutscode.com/how-to-use-crontab-in-linux/เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับ crontab


ยินดีต้อนรับสู่ Unix & Linux Stack Exchange! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.