วิธีการหางาน Cron ใน Linux?
เผยแพร่แล้ว: 2022-08-22ตัวจัดกำหนดการที่เสนอโดย Linux OS ช่วยให้ทำงานให้เสร็จโดยอัตโนมัติข้ามเวลาหรือกล่าวอีกนัยหนึ่งคือ Cron Jobs สามารถเลือกนิพจน์เวลาที่เหมาะสมจากเมนูเพื่อกำหนดตารางเวลาการจับคู่ หรือสามารถระบุได้โดยใช้นิพจน์ Cron
ในโพสต์นี้ เราจะมากำหนดงาน Cron และวิธีหางาน Cron ใน Linux
สารบัญ
งาน Cron คืออะไร?
เครื่องมือบรรทัดคำสั่งที่เรียกว่า Cron ช่วยให้คุณสามารถกำหนดเวลาการดำเนินการคำสั่งสั้นๆ ง่ายๆ เครื่องมือผู้ดูแลระบบแบบดั้งเดิมที่มีประโยชน์นี้อาจใช้ร่วมกับโปรแกรมอื่นๆ เพื่อทำให้กิจกรรมต่างๆ เป็นไปโดยอัตโนมัติ ผู้ใช้บางคนใช้เพื่อตรวจสอบบันทึกของเซิร์ฟเวอร์และจับคู่กับฟังก์ชันอีเมลเพื่อส่งอีเมลเมื่อพบข้อผิดพลาดบางประเภท
มีแอพพลิเคชั่นที่เป็นไปได้หลายอย่าง สิ่งที่คุณใช้สำหรับขึ้นอยู่กับความคิดสร้างสรรค์ของคุณ
โดยทั่วไปมีสามองค์ประกอบในงาน cron:
- สคริปต์ ที่จะเรียกใช้หรือเรียก
- คำสั่ง ที่ใช้ในการรันสคริปต์โดยอัตโนมัติ สามารถใช้ CyberPanel เพื่อตั้งค่าเหล่านี้ได้
- การ ดำเนินการ หรือ ผลลัพธ์ ของสคริปต์ขึ้นอยู่กับสิ่งที่เรียกสคริปต์ งาน Cron หรือโปรแกรมที่แก้ไขไฟล์หรือฐานข้อมูล เป็นเรื่องปกติ อย่างไรก็ตาม พวกเขายังสามารถดำเนินการอื่นๆ เช่น การส่งการแจ้งเตือนทางอีเมลที่ไม่เปลี่ยนแปลงข้อมูลบนเซิร์ฟเวอร์
สคริปต์ส่วนใหญ่ที่ต้องการใช้งาน cron จะมีคำแนะนำโดยละเอียดเกี่ยวกับวิธีตั้งค่าทุกอย่าง โดยปกติแล้วจะมีตัวอย่าง
งาน Cron มีประโยชน์สำหรับนักพัฒนาเว็บแม้ว่าผู้ดูแลระบบมักจะใช้งานบ่อยกว่าก็ตาม งาน Cron เหมาะอย่างยิ่งสำหรับระบบที่ทำงานอย่างต่อเนื่อง เช่น เซิร์ฟเวอร์
Cron กับ Cron Job กับ Crontab
คำสามคำนี้ — cron, cron job และ crontab— มีแนวโน้มที่จะใช้ในบริบทเดียวกัน มาพูดถึงสิ่งเหล่านั้นก่อน:
Cron : แอปพลิเคชันที่คุณติดตั้งและรันเป็น daemon บนระบบของคุณเรียกว่า cron
งาน Cron : ใน Linux แอปพลิเคชันที่ทำงานอยู่จะเรียกว่างาน Cron สามารถจัดการงานได้หลายงาน และสามารถดำเนินการได้ทั้งหมดพร้อมกัน กิจกรรมเหล่านี้เรียกรวมกันว่า "งาน cron"
Crontab : ไฟล์ crontab (และคำสั่ง) ช่วยให้คุณสามารถระบุงานที่ควรดำเนินการและในช่วงเวลาใด crontab แต่ละแถวมีงาน cron และ crontab สามารถรวมงาน cron ได้หลายงาน
เตรียมตัวอย่างไรสำหรับการจัดตารางงาน Cron?
การทำความเข้าใจพื้นฐานของไฟล์คอนฟิกูเรชันงาน cron บางอย่างก่อนกำหนดเวลางาน cron ของคุณจะเป็นประโยชน์:
หากต้องการกำหนดเวลางานพื้นฐานทั่วทั้งระบบ ให้ใช้ระบบ crontab เฉพาะเมื่องานมีสิทธิ์รูทเท่านั้นที่เปลี่ยนแปลง
ผู้ใช้ที่เพิ่มงาน cron ต้องการการเข้าถึงไดเร็กทอรีเป็นรูท นอกจากนี้ ผู้ใช้ต้องปฏิบัติตามมาตรฐานการตั้งชื่อชิ้นส่วนประกอบ
ประโยชน์ของการใช้งาน Cron:
ต่อไปนี้เป็นข้อดีบางประการของการใช้งาน cron
- คุณสามารถตัดสินใจได้ง่ายขึ้นว่าจะเรียกใช้เมื่อใด นาที ชั่วโมง วัน ฯลฯ ที่จะดำเนินการภายใต้การดูแลของคุณ
- การเขียนโค้ดและการดูแลรักษาเป็นงานที่ง่ายกว่า ลอจิกการวนซ้ำและกำหนดเวลาของงานจะถูกลบออก และคุณอาจปรับเวลาหรือปิดงานโดยเรียกใช้ crontab
- เมื่อไม่ได้ใช้งาน เครื่องจะไม่ใช้ RAM บนคอมพิวเตอร์ของคุณ
- เมื่อถึงเวลาที่เหมาะสม มันจะเริ่มต้นใหม่หากล้มเหลวและจากไปด้วยเหตุผลใดก็ตาม
ข้อ จำกัด ใดบ้างที่ใช้กับงาน Cron
นี่คือสิ่งที่ควรพิจารณาเกี่ยวกับงาน cron:
- เวลาระหว่างแต่ละช่วงเวลาคือ 60 วินาที ต้องรอนานที่สุด ด้วย cron คุณต้องทำงานทุกๆ 60 วินาที
- คอมพิวเตอร์หลักเครื่องเดียว ไม่สามารถกระจายงาน cron ข้ามเครื่องต่าง ๆ ในเครือข่ายได้ ดังนั้นงาน cron ที่กำลังทำงานอยู่จะได้รับผลกระทบหากเครื่องล้มเหลว งานที่กำหนดเวลาไว้หรือพลาดไปไม่สามารถเสร็จสมบูรณ์ได้
- ไม่มีกลไกการกลับเข้าใหม่ Cron ได้รับการพัฒนาให้ทำงานอย่างแม่นยำในช่วงเวลาหนึ่ง งาน cron ใด ๆ ที่ไม่สามารถดำเนินการได้จะดำเนินการตามเวลาที่กำหนดต่อไปนี้ สิ่งนี้บ่งชี้ว่างานที่เพิ่มขึ้นไม่ได้รันโดยใช้ cron ด้วยเหตุนี้ cron จึงทำงานได้ดีที่สุดกับการทำงานง่ายๆ เป็นประจำ
- คุณสามารถตัดสินใจจองงานแบบครั้งเดียวโดยใช้วิธีการอื่นในภายหลัง
ไวยากรณ์ Corntab
ไวยากรณ์ของ crontab ประกอบด้วยห้าฟิลด์ ต้องกรอกข้อมูลแต่ละช่อง
ชั่วโมง
โดยจะอยู่ระหว่าง 0 ถึง 23 ซึ่งจะแสดงเวลาที่คำสั่งจะดำเนินการ
นาที
โดยจะอยู่ระหว่าง 0 ถึง 59 โดยจะแสดงชั่วโมงและนาทีที่คำสั่งจะทำงาน
วันของเดือน
โดยจะอยู่ระหว่าง 1 ถึง 21 โดยจะแสดงวันของเดือนที่คำสั่งจะดำเนินการ
เดือน
เดือน มันพูดเกี่ยวกับระยะเวลาของการเรียนการสอนในเดือน
วันของสัปดาห์
โดยจะอยู่ระหว่าง 0 ถึง 6 วันในสัปดาห์ของคำสั่งจะแสดงขึ้น
ตัวละครพิเศษสำหรับ Cron Jobs
เครื่องหมายดอกจัน (*)
ค่าที่เป็นไปได้สำหรับฟิลด์ที่ใช้ตัวดำเนินการนี้จะถูกระบุด้วยเครื่องหมายดอกจัน ()
เครื่องหมายจุลภาค (,)
แสดงรายการค่าจำนวนมากโดยใช้ตัวดำเนินการจุลภาค (,)

ยัติภังค์ (-)
ตัวดำเนินการนี้สามารถใช้เพื่อกำหนดช่วงของค่าได้
ตัวคั่น (/)
ค่าสามารถแบ่งได้ด้วยตัวคั่น (/)
สุดท้าย (L)
หากต้องการแสดงฟิลด์วันในสัปดาห์และวันของเดือน ให้ใช้คำสั่งนี้
วันธรรมดา (ญ)
คำสั่งนี้จะบอกคุณว่าวันใดในสัปดาห์ที่ใกล้เคียงที่สุดกับเวลาปัจจุบัน
แฮช #
ใช้คำสั่งนี้เพื่อระบุวันในสัปดาห์ มันจะตกระหว่าง 1 ถึง 5
เครื่องหมายคำถาม (?)
ตัวแปรวันทำงานและรายเดือนไม่ควรแสดงข้อมูลใดๆ
จะหางาน Cron ใน Linux ได้อย่างไร
แสดงงานทั้งหมดใน cron/crontab
crontab -l

ดูงาน cron ของผู้ใช้รูทบน Linux
sudo crontab -l

ดู /etc/crontab บน Linux
less /etc/crontab

Linux ดู cronjob รายวัน
cd /etc/cron.daily/ ls -l

งาน cron รายสัปดาห์บน Linux
cd /etc/cron.weekly/ ls -l

งาน cron รายเดือนบน Linux
cd /etc/cron.monthly/ ls -l

สร้างงาน Cron ใน Linux
ที่พรอมต์ Linux shell ให้ใช้คำสั่งต่อไปนี้เพื่อแก้ไขหรือสร้างไฟล์ crontab ของคุณเอง:
$ crontab -e
หมายเหตุ : Cron จะตรวจสอบเวลาแก้ไขของ crontab แต่ละรายการและโหลดซ้ำเวลาที่เปลี่ยนแปลง
ไวยากรณ์ของ crontab
1 2 3 4 5 /path/to/command arg1 arg2

(เลือก 1 จะเป็นการเปิดโปรแกรมแก้ไข nano
ซึ่งใช้งานได้ง่ายมาก)
ที่ไหน,
- 1: นาที (0-59)
- 2: ชั่วโมง (0-23)
- 3: วันที่ (0-31)
- 4: เดือน (0-12 [12 == ธันวาคม])
- 5: วันในสัปดาห์ (0-7 [7 หรือ 0 == วันอาทิตย์])
- /path/to/command – สคริปต์หรือชื่อคำสั่งสำหรับกำหนดเวลา
ดังนั้น หากคุณกำลังเพิ่มงาน cron เพื่อรัน /root/backup.sh เวลา 3.00 น. ทุกวัน คุณจะเรียกใช้คำสั่งต่อไปนี้ในตัวแก้ไข
0 3 * * * /root/backup.sh

บันทึกและออกจากโปรแกรมแก้ไข nano
คุณจะเห็นว่ามีการติดตั้ง crontab ใหม่

จะค้นหางาน Cron โดยใช้แดชบอร์ด CyberPanel ได้อย่างไร
ไปที่ แดชบอร์ด CyberPanel

คลิกที่ WordPress -> แสดง รายการ WordPress จากเมนูด้านซ้ายมือ

นี่คือหน้า รายการเว็บไซต์ WordPress ของคุณ คลิกที่ เว็บไซต์ ของคุณ

นี่คือ ตัวจัดการ WordPress ของเว็บไซต์ของคุณ คลิกที่ จัดการแอปพลิเคชัน

เลื่อนลงและคลิกที่ Cron Jobs

ตอนนี้คลิกที่ ดึงงาน Cron ปัจจุบัน เพื่อดูงาน cron ของคุณสำหรับไซต์ของคุณ

การเพิ่มงาน cron โดยใช้ CyberPanel Dashboard
ทำตามขั้นตอนที่กล่าวถึงข้างต้นเพื่อไปที่ Cron manager และคลิกที่ ADD CRON

เพิ่มข้อมูลที่เกี่ยวข้องทั้งหมด (นาที ชั่วโมง วัน เดือน และวันในสัปดาห์) ตามงาน cron ของคุณและป้อนคำสั่งของคุณ คลิกที่ เพิ่ม Cron

บทสรุป
ในบทความนี้ เราได้กล่าวถึงรายละเอียดเกี่ยวกับงาน cron อย่างละเอียด นอกจากนี้ เราได้เห็นในบทความนี้แล้วว่างาน cron สามารถเป็นประโยชน์สำหรับนักพัฒนาเว็บและผู้ดูแลระบบได้อย่างไร นอกจากนี้เรายังได้เรียนรู้วิธีหางาน cron ใน Linux โดยใช้บรรทัดคำสั่งและแดชบอร์ด CyberPanel