ใน ส่วนที่สาม ของบทความชุดนี้ที่เราใช้บาป XNUMX ประการเป็นข้ออ้างในการ รู้จักเครื่องมือและโปรแกรมสำหรับ Linux เราจะแสดงความคิดเห็นเพิ่มเติมเกี่ยวกับการกำหนดค่า cron และเราจะพูดถึงทางเลือกอื่น
cron เป็นโปรแกรมแบบสแตนด์อโลนเพื่อรันงานบำรุงรักษาระบบเป็นประจำ งานถูกระบุในไฟล์ข้อความที่เรียกว่า crontab
เกี่ยวกับ cron และ anachron
ในบทความก่อนหน้านี้ เราได้พูดถึงโครงสร้างของคำสั่งที่จะมอบให้ cron ตอนนี้เราจะเห็นวิธีง่ายๆ ในการเขียนไฟล์ crontab
คำสั่ง crontab –e
สร้างไฟล์ crontab ที่เกือบจะว่างเปล่า มีเพียงไม่กี่บรรทัดนำหน้าด้วยเครื่องหมายปอนด์ (#) เครื่องหมายนี้ระบุว่าเป็นความคิดเห็นและไม่ควรพยายามดำเนินการ เราสามารถลบทิ้งหรือปล่อยไว้ได้
เราควรเริ่มต้นด้วยการเพิ่มบรรทัดเหล่านี้:
SHELL=/bin/bash
: ระบุว่าเชลล์ที่จะใช้เพื่อรันคำสั่งคือ Bash เชลล์คือตัวแปลคำสั่งที่อนุญาตให้ผู้ใช้เข้าถึงทรัพยากรระบบ
MAILTO=una_dirección_de_mail:
ในการแจกจ่ายทางฝั่งเซิร์ฟเวอร์ เป็นเรื่องปกติที่จะระบุที่อยู่อีเมลสำหรับผู้ดูแลระบบเพื่อรับรายงานข้อบกพร่อง นั่นคือเหตุผลที่ตัวเลือกที่ cron ใช้โดยค่าเริ่มต้นในการส่ง บนคอมพิวเตอร์เดสก์ท็อปที่ไม่ได้กำหนดค่าที่อยู่เพื่อให้เราสามารถดำเนินการกับตัวแปรนี้ได้
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
: วิธีนี้ช่วยให้เราไม่ต้องระบุพาธไปยังไฟล์เรียกทำงานสำหรับแต่ละคำสั่ง
อนาครอน
Cron เป็นที่รู้จักกันดีที่สุดในเครื่องมืออัตโนมัติ แต่มีข้อเสียคือ ถ้าคอมพิวเตอร์ถูกปิดหรือหยุดชั่วคราว งานจะไม่ดำเนินการจนกว่าจะกลับเป็นวันที่ที่กำหนดไว้ล่วงหน้า. อนาครอน ในทางตรงกันข้าม จะดูแลว่าเมื่อเซสชันกลับมาทำงานต่อ งานที่ค้างอยู่จะถูกดำเนินการ โปรแกรมจะค้นหาว่าคำสั่งถูกดำเนินการครั้งสุดท้ายเมื่อใด และมีการแจ้งว่าควรดำเนินการบ่อยเพียงใด รายการงานที่รอดำเนินการจะถูกบันทึกในไฟล์ข้อความที่เรียกในกรณีนี้ว่า anacrontab ต่างจาก cron และ crontab วันที่ถูกกำหนดโดยการตั้งค่าวัน การหน่วงเวลาเป็นนาที ตัวระบุงาน และคำสั่งที่จะดำเนินการ
สำหรับแต่ละงาน Anacron จะตรวจสอบว่างานนี้ได้รับการดำเนินการในช่วง n วันที่ผ่านมาหรือไม่โดยที่ n คือระยะเวลาที่ระบุสำหรับงานนั้น ถ้าไม่เช่นนั้น Anacron จะรันคำสั่งเชลล์ของงานหลังจากรอจำนวนนาทีที่ระบุเป็นพารามิเตอร์การหน่วงเวลา
หลังจากคำสั่งเสร็จสิ้น Anacron จะบันทึกวันที่ไปยังไฟล์ประทับเวลาพิเศษสำหรับงานนั้น ดังนั้นคุณจึงทราบเมื่อต้องเรียกใช้อีกครั้ง เฉพาะวันที่เท่านั้นที่ใช้สำหรับการคำนวณเวลา เวลาไม่ได้ใช้
เราสามารถค้นหาอนาครอนภายใต้ชื่อนี้หรือเป็นส่วนหนึ่งของแพ็คเกจอื่นที่เรียกว่า cronie ในที่เก็บของลีนุกซ์รุ่นหลัก
พารามิเตอร์อนาครอน
-F: ดำเนินงานโดยไม่คำนึงว่าจะเป็นวันที่ระบุหรือไม่
-ยู: เปลี่ยนวันที่ของงานเป็นวันที่ปัจจุบัน แต่ไม่ดำเนินการ
- ส: ตั้งค่าว่างานจะเริ่มต้นเมื่องานก่อนหน้าเสร็จสิ้นเท่านั้น
-NS: ทำงานไม่ว่าวันไหน เปิดพารามิเตอร์ -s
-d: ไม่ทำงานในพื้นหลังและข้อผิดพลาดจะถูกสร้างขึ้นเป็นข้อความแสดงข้อผิดพลาดมาตรฐาน ผลงานส่งทางไปรษณีย์ครับ ในกรณีของระบบเดสก์ท็อป ที่อยู่อีเมลจะได้รับการกำหนดค่าตามที่ระบุไว้ข้างต้น
-NS: ป้องกันไม่ให้มีการสร้างข้อความแสดงข้อผิดพลาดมาตรฐาน ใช้ร่วมกับ -d
-NS: ในกรณีที่คุณต้องการใช้รายการงานอื่นที่ไม่ใช่รายการที่สร้างขึ้นโดยค่าเริ่มต้น พารามิเตอร์นี้จะบอกให้อนาครอนทราบว่าจะใช้อันใด
-NS: ทดสอบรายการงานเพื่อดูว่ามีการกำหนดค่าอย่างถูกต้องหรือไม่ หากไม่เป็นเช่นนั้น จะสร้างข้อความแสดงข้อผิดพลาด
-S จัดเก็บการประทับเวลาในไดเร็กทอรีที่ระบุเพื่อใช้โดยอนาครอน
ในบทความถัดไปเราจะดูวิธีกำหนดค่า anacrontab . อย่างถูกต้อง