วิธีจัดกำหนดการงานบน 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 ใหม่ของคุณได้รับการติดตั้งสำเร็จแล้ว