มีวิธีแก้ไขสองวิธีcrontab:
แบบโต้ตอบโดยใช้crontab -eซึ่งจะเปิดcrontabในตัวแก้ไขที่ระบุโดย$VISUALหรือ$EDITORหรือ
ไม่ใช่การโต้ตอบโดยใช้crontab crontab.txtซึ่งก็จะนำเข้าcrontabรายการจากไฟล์crontab.txt, เปลี่ยน crontab ใช้งานที่มีอยู่สำหรับผู้ใช้ปัจจุบัน
ปัญหาที่คุณมีคือคุณเพียงแค่ใช้crontabคำสั่งผิด
ข้อกังวลต่อไปนี้เกี่ยวกับการจัดการ crontab แบบไม่โต้ตอบ:
ดังนั้นในการลบงานบางอย่างโดยทางโปรแกรมคุณสามารถทำอะไรได้บ้าง
$ crontab -l | grep -v 'PATTERN' >crontab.txt && crontab crontab.txt
โดยที่PATTERNเป็นนิพจน์ทั่วไปที่จะตรงกับงานที่คุณต้องการลบ ที่นี่จะทำให้คุณปัจจุบันของคุณcrontab -lcrontab
หรือถ้าคุณมีรายการในไฟล์ชื่อcrontab-fragment.txtที่คุณต้องการลบออกจาก crontab ที่ใช้งานอยู่
$ crontab -l | grep -v -Fx -f crontab-fragment.txt >crontab.txt && crontab crontab.txt
สิ่งนี้จะอ่าน crontab ปัจจุบันและตัวกรอง (ลบ) บรรทัดใด ๆ ที่เกิดขึ้นในไฟล์crontab-fragment.txtในไดเรกทอรีปัจจุบัน (ใช้การเปรียบเทียบสตริงของบรรทัดทั้งหมด) ผลลัพธ์จะถูกบันทึกcrontab.txtและโหลดจากที่นั่นเพื่อแทนที่ crontab ปัจจุบัน
หากต้องการเพิ่มหนึ่งหรือหลายภารกิจให้ทำดังนี้
$ crontab -l | cat - crontab-fragment.txt >crontab.txt && crontab crontab.txt
นี่คือการสมมติว่าไฟล์crontab-fragment.txtมีรายการที่คุณต้องการเพิ่ม มันอ่าน crontab ปัจจุบันผนวกรายการจากนี้และสร้างcrontab-fragment.txt ไฟล์แล้วแทนที่ crontab ปัจจุบันcrontab.txtcrontab.txt