ฉันแค่ต้องการหยุดทุกอย่าง crontab -l
อย่าดำเนินการอะไรที่ระบุไว้ใน
ฉันแค่ต้องการหยุดทุกอย่าง crontab -l
อย่าดำเนินการอะไรที่ระบุไว้ใน
คำตอบ:
crontab -e
#
แล้วแสดงความคิดเห็นออกแต่ละบรรทัดที่คุณไม่ต้องการที่จะทำงานด้วย
ก่อนสำรอง crontab:
crontab -l > my_cron_backup.txt
จากนั้นคุณสามารถล้างมัน:
crontab -r
ในการกู้คืน:
crontab my_cron_backup.txt
crontab -l
crontab -r
คือสิ่งที่ฉันกำลังมองหา ขอบคุณมาก!
คุณมีสิทธิ์เข้าถึงรูตหรือไม่? เพียงแค่หยุด cron
sudo /etc/init.d/crond stop
จากนั้นรีสตาร์ทเมื่อคุณพร้อม
sudo /etc/init.d/crond start
sudo service cron stop
/etc/init.d/cron stop
นี้อยู่
service cron stop
นั้น
หากคุณใช้ vi เป็นตัวแก้ไขให้ป้อน:%s/^/#/
โหมดคำสั่ง ในทุกบรรทัด (%) มันจะแทนที่ (s ///) จุดเริ่มต้นของบรรทัด (^) ด้วยแฮช (#)
EDITOR=vi; crontab -e
และคุณสามารถใช้เคล็ดลับข้างต้นได้
:%s/^#//
ไม่มีความสุขกับตัวเลือกข้างต้นเนื่องจากพวกเขาไม่ได้เป็นหนึ่งในสมุทร
เพื่อปิดการใช้งาน crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab
การเปิดใช้งาน crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab
ตัวอย่างการใช้งาน (แก้ไขเพื่อแสดงว่าไม่ได้ปิดการใช้งานความคิดเห็น)
$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh
$ crontab -l|perl -nle 's/^([^#])/# $1/;print'|crontab
$ crontab -l
# Comment
# 0 0 * * 0 /opt/something.sh
$ crontab -l|perl -nle 's/^#\s*([0-9*])/$1/;print'|crontab
$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh
ทดสอบสิ่งนี้กับ RHEL และ AIX และควรทำงานนอกกรอบโดยไม่จำเป็นต้องติดตั้งใด ๆ
crontab: usage error: file name must be specified for replace
. ดูเหมือนว่าคุณจะต้องระบุไฟล์ (?) เมื่อใช้crontab
โดยไม่มีพารามิเตอร์ใด ๆ (ซึ่งเป็นreplace
ค่าเริ่มต้น)
ในการทดสอบที่ จำกัด ของฉันให้ตั้งค่าเชลล์เป็น / bin / false คุณจะยังคงเห็น/opt/job.sh
การดำเนินการในบันทึกของคุณ แต่มันจะเป็น noop:
SHELL=/bin/false
*/1 * * * * root /some/job.sh
ในรสชาติของ Unix / Linux ใด ๆ ที่ฉันรู้:
mv /var/spool/cron /var/spool/cron_is_disabled
นี้:
ฉันได้แนวคิดจากคำตอบที่ @segaps จัดทำขึ้น
วิธีปิดใช้งาน:
crontab -l | awk '{print "# "$1}' | crontab
การเปิดใช้งาน:
crontab -l | cut -c 3- | crontab
ปัญหาเดียวของการแก้ปัญหาที่จัดหาโดย segaps คือมันจะไม่แสดงความคิดเห็นงานที่ได้รับการแสดงความคิดเห็นโดยผู้ใช้
หากต้องการทำสิ่งนี้ให้ใช้ nano เป็นตัวแก้ไข:
sudo env EDITOR=nano crontab -e
จากนั้นแสดงความคิดเห็นในแต่ละบรรทัดที่คุณไม่ต้องการเรียกใช้ด้วย #
/tmp
ได้รับความเสียหาย (และถ้า -e crontab ของคุณใช้mktemp
ใน/tmp
.