วิธีจัดกำหนดการงานบน Linux: ข้อมูลเบื้องต้นเกี่ยวกับไฟล์ Crontab

cron daemon บน Linux รันงานในเบื้องหลังในช่วงเวลาที่กำหนด มันเหมือนกับ Task Scheduler บน Windows เพิ่มงานลงในไฟล์ crontab ของระบบโดยใช้ไวยากรณ์ที่เหมาะสมและ cron จะเรียกใช้งานให้คุณโดยอัตโนมัติ

ไฟล์ Crontab สามารถใช้เพื่อสำรองข้อมูลอัตโนมัติการบำรุงรักษาระบบและงานซ้ำ ๆ อื่น ๆ ไวยากรณ์มีประสิทธิภาพและยืดหยุ่นดังนั้นคุณสามารถเรียกใช้งานได้ทุก ๆ สิบห้านาทีหรือในแต่ละนาทีในวันใดวันหนึ่งของทุกปี

กำลังเปิด Crontab

ขั้นแรกเปิดหน้าต่างเทอร์มินัลจากเมนูแอปพลิเคชันบนเดสก์ท็อป Linux ของคุณ คุณสามารถคลิกไอคอน Dash พิมพ์ Terminal แล้วกด Enter เพื่อเปิดขึ้นมาหากคุณใช้ Ubuntu

ใช้คำสั่งcrontab -eเพื่อเปิดไฟล์ crontab ของบัญชีผู้ใช้ของคุณ คำสั่งในไฟล์นี้ทำงานด้วยสิทธิ์ของบัญชีผู้ใช้ของคุณ หากคุณต้องการให้คำสั่งทำงานด้วยสิทธิ์ของระบบให้ใช้คำสั่งsudo crontab -eเพื่อเปิดไฟล์ crontab ของบัญชีรูท ใช้คำสั่งsu -c“ crontab -e”แทนหากการแจกจ่าย Linux ของคุณไม่ใช้ sudo

คุณอาจถูกขอให้เลือกบรรณาธิการ เลือก Nano หากมีโดยพิมพ์หมายเลขและกด Enter Vi และเครื่องมือแก้ไขขั้นสูงอื่น ๆ อาจเป็นที่ต้องการของผู้ใช้ขั้นสูง แต่ Nano เป็นเครื่องมือแก้ไขที่ง่ายในการเริ่มต้น

คุณจะเห็นตัวแก้ไขข้อความนาโนซึ่งระบุโดยส่วนหัว“ GNU nano” ที่ด้านบนของหน้าต่างเทอร์มินัล หากไม่เป็นเช่นนั้น crontab อาจเปิดในโปรแกรมแก้ไขข้อความ vi

หากคุณไม่สะดวกในการใช้ vi คุณสามารถพิมพ์: ออกจาก vi แล้วกด Enter เพื่อปิด รันคำสั่งexport EDITOR = nanoจากนั้นเรียกใช้crontab -eอีกครั้งเพื่อเปิดไฟล์ crontab ใน Nano

การเพิ่มงานใหม่

ใช้ปุ่มลูกศรหรือปุ่มเลื่อนหน้าลงเพื่อเลื่อนไปที่ด้านล่างของไฟล์ crontab ใน Nano บรรทัดที่ขึ้นต้นด้วย # คือบรรทัดความคิดเห็นซึ่งหมายความว่า cron จะไม่สนใจบรรทัดเหล่านี้ ความคิดเห็นเพียงแค่ให้ข้อมูลแก่ผู้ที่แก้ไขไฟล์

บรรทัดในไฟล์ crontab ถูกเขียนตามลำดับต่อไปนี้โดยมีค่าที่ยอมรับได้ดังต่อไปนี้:

คำสั่งนาที (0-59) ชั่วโมง (0-23) วัน (1-31) เดือน (1-12) วันธรรมดา (0-6)

คุณสามารถใช้อักขระดอกจัน (*) เพื่อจับคู่ค่าใดก็ได้ ตัวอย่างเช่นการใช้เครื่องหมายดอกจันสำหรับเดือนจะทำให้คำสั่งทำงานทุกเดือน

ตัวอย่างเช่นสมมติว่าเราต้องการรันคำสั่ง / usr / bin / example เวลา 00.30 น. ทุกวัน เราจะพิมพ์:

29 0 * * * / usr / bin / ตัวอย่าง

เราใช้ 29 สำหรับเครื่องหมาย 30 นาทีและ 0 สำหรับ 12.00 น. เนื่องจากค่านาทีชั่วโมงและวันธรรมดาเริ่มต้นที่ 0 โปรดทราบว่าค่าวันและเดือนเริ่มต้นที่ 1 แทนที่จะเป็น 0

หลายค่าและช่วง

ใช้ค่าที่คั่นด้วยลูกน้ำเพื่อระบุหลาย ๆ ครั้ง ตัวอย่างเช่นเส้น

0,14,29,44 * * * * / usr / bin / ตัวอย่าง 2

รัน / usr / bin / example2 ที่เครื่องหมาย 15 นาทีทุกชั่วโมงทุกวัน ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มงานใหม่ในบรรทัดใหม่

ใช้ค่าที่คั่นด้วยเส้นประเพื่อระบุช่วงของค่า ตัวอย่างเช่นเส้น

0 11 * 1-6 * / usr / bin / ตัวอย่าง 3

ทำงาน / usr / bin / example3 ตอนเที่ยงของทุกวัน แต่ในช่วงหกเดือนแรกของปี

การบันทึกไฟล์

กด Ctrl-O แล้วกด Enter เพื่อบันทึกไฟล์ crontab ใน Nano ใช้ทางลัด Ctrl-X เพื่อปิด Nano หลังจากบันทึกไฟล์แล้ว

คุณจะเห็นข้อความ“ crontab: การติดตั้ง crontab ใหม่” ซึ่งแสดงว่าไฟล์ crontab ใหม่ของคุณได้รับการติดตั้งสำเร็จแล้ว