คู่มือการใช้งาน เมนู Cron Jobs - (DirectAdmin User Level)
ตั้งเวลาให้เว็บไซต์รันคำสั่งอัตโนมัติ พร้อมอ่านรูปแบบ Schedule, Command, E-mail Output และจัดการ Cron Job เดิมอย่างปลอดภัย
Cron Jobs ใช้ทำอะไร และเข้าเมนูตรงไหน
เมนู Cron Jobs ใช้ตั้งเวลาให้ระบบรันงานเบื้องหลังโดยอัตโนมัติ เช่นเรียก Cron ของ WordPress ส่งรายงาน Sync ข้อมูล หรือล้างไฟล์ชั่วคราวตามรอบ โดยไม่ต้องเปิดเบราว์เซอร์ทิ้งไว้

สำหรับลูกค้า Premium Hosting ให้เข้าจากหน้า Dashboard แล้วดูที่กลุ่ม Advanced Features จากนั้นกดเมนู Cron Jobs
สิ่งที่ควรรู้ตั้งแต่ต้นคือ cron ทำงานเงียบอยู่หลังบ้าน ถ้าตั้งถี่เกินไปหรือ command เขียนผิด อาจทำให้เว็บกิน CPU, มี process ซ้อนกัน, ส่งอีเมล error จำนวนมาก หรือทำให้งานสำคัญไม่รันตามเวลาที่คาดไว้ ก่อนสร้าง cron บนเว็บจริงจึงควรรู้ว่า command นั้นทำอะไร ใช้ path ไหน และควรรันบ่อยแค่ไหน
ทำความรู้จักรายการ Cron Job และตารางเวลา
หน้ารวม Cron Jobs แสดง breadcrumb Dashboard > Cron Jobs เพื่อยืนยันว่ากำลังอยู่ในเมนูตั้งงานอัตโนมัติจริง ไม่ใช่หน้าตั้งค่าเว็บหรืออีเมล ด้านขวาบนยังมี ตัวเลือกโดเมน เช่น phalconhost2.com ซึ่งเป็นบริบทโดเมนปัจจุบันของ DirectAdmin โดยเฉพาะเวลาระบบแสดงตัวอย่าง path หรือ URL ให้ใช้ใน command

cron job ในหน้านี้เป็นงานของบัญชีผู้ใช้ ดังนั้นถ้าบัญชีมีหลายโดเมน อย่าอาศัยตัวเลือกโดเมนอย่างเดียว ให้ใส่ path หรือ URL ของโดเมนที่ต้องการรันไว้ในช่อง Command ให้ชัดเจน เช่น path ใต้ /home/phalcon1/domains/โดเมน/public_html/ หรือ URL ของโดเมนที่ต้องเรียกจริง
| คอลัมน์ | ความหมาย | ควรเช็กอย่างไร |
|---|---|---|
| ช่องเลือก | เลือก cron job เพื่อใช้คำสั่งหลายรายการ เช่น Delete | เลือกเฉพาะแถวที่ต้องการลบจริง ถ้ามีหลายงานอย่าใช้ช่องเลือกหัวตารางโดยไม่ตรวจรายการก่อน |
| Minute | นาทีที่ cron จะรัน เช่น 0, */5 หรือ * | * หมายถึงทุกนาที ซึ่งอาจถี่เกินไปสำหรับเว็บจริง |
| คอลัมน์คำสั่ง | คอลัมน์ขวาสุด มีไอคอน ดินสอ Edit เมื่อมี cron job อยู่ | ใช้แก้ schedule หรือ command ของงานเดิม โดยต้องตรวจผลกระทบเหมือนตอนสร้างใหม่ |
สร้าง Cron Job
เมื่อกด Create Cron Job ระบบจะเปิดหน้า Dashboard > Cron Jobs > Create Cron Job หน้านี้เป็นหน้าแยก ไม่ใช่หน้าต่างดังนั้นถ้าจะย้อนกลับให้ใช้ breadcrumb Cron Jobs หรือกลับไปหน้ารวมจากเบราว์เซอร์หลังตรวจข้อมูลแล้ว

- Run on @reboot - ช่องเลือกสำหรับตั้งให้ command รันเมื่อระบบเริ่มทำงานใหม่ ใช้เฉพาะงานที่จำเป็นหลังเซิร์ฟเวอร์ reboot ไม่ใช่งานที่ต้องรันตามรอบเวลา เช่นทุก 5 นาทีหรือทุกวัน
- Current Time - ช่องเวลาแบบใช้งานไม่ได้แสดงเวลาปัจจุบันของเซิร์ฟเวอร์หรือ Control Panel ใช้เทียบก่อนตั้ง Hour/Minute ถ้าคุณคาดหวังเวลาไทย ให้ดูเวลานี้เป็นหลักก่อนตัดสินใจ
- Cron job will run - ข้อความสรุป schedule จากค่าที่กรอก เช่นค่า default
* * * * *จะแสดงว่า Every minute และเมื่อกรอก0กับ3ระบบสรุปเป็นเวลาประมาณ At 03:00 AM
กำหนดคำสั่งและรูปแบบที่ DirectAdmin รองรับ
ช่อง Command คือหัวใจของ Cron Jobs เพราะเป็นคำสั่งจริงที่จะถูกรันตามเวลา ในหน้าตัวอย่าง DirectAdmin เติมค่าเริ่มต้นเป็น path ของ user เช่น /home/phalcon1 เพื่อช่วยเริ่มจาก home directory ของบัญชี แต่คุณต้องเปลี่ยนให้เป็น command ที่รันได้จริงก่อนกด Create

- Command textarea - ช่องข้อความหลายบรรทัดสำหรับใส่คำสั่ง เช่นเรียก PHP script, curl URL หรือ wget URL
- PREVENT E-MAIL - ปุ่มสีเขียวที่เพิ่ม
>/dev/null 2>&1ต่อท้าย command เพื่อทิ้ง output ทั้ง stdout และ stderr ไม่ให้ส่งอีเมลจาก cron - CREATE - ปุ่มสีน้ำเงินสำหรับสร้าง cron job ตาม schedule และ command ที่กรอก ในหน้าตัวอย่างไม่พบหน้าต่างยืนยันแยกก่อนสร้าง เมื่อค่าถูกต้อง DirectAdmin จะเพิ่มรายการในตารางทันที
- Sample Cron commands - ตัวอย่างคำสั่งที่ DirectAdmin แสดงให้ดู เช่นเรียก PHP script, curl หรือ wget ไปยัง URL cron
ส่งผลลัพธ์ของ Cron Job ทางอีเมล
ปุ่ม Send all Cron output to e-mail บนหน้ารวมใช้กำหนดอีเมลสำหรับรับ output ของ cron ทั้งหมดที่ไม่ได้ redirect ทิ้ง ถ้า cron script มีข้อความออกมาทาง stdout หรือ stderr ระบบสามารถส่งผลลัพธ์นั้นไปยังอีเมลที่ตั้งไว้ได้

- Set E-mail - ชื่อหน้าต่างสำหรับตั้งค่าอีเมลรับ output จาก cron
- ปุ่ม X มุมขวาบน - ปิดหน้าต่างโดยไม่บันทึกการเปลี่ยนแปลง
- E-mail field - ช่องกรอกอีเมลปลายทางที่ต้องการให้ DirectAdmin ส่ง output ของ cron ไปหา
- SAVE - บันทึกอีเมลปลายทางที่กรอกไว้
การตั้งอีเมลรับ output เหมาะตอน debug ชั่วคราว เช่นอยากดูว่า cron script แสดง error อะไร แต่ไม่ควรปล่อยให้ cron ที่รันถี่ส่ง output ทุกครั้ง เพราะกล่องอีเมลอาจเต็มหรือมีอีเมล error จำนวนมาก ถ้าต้องการให้ cron ทำงานเงียบ ให้ใช้ PREVENT E-MAIL หรือเติม >/dev/null 2>&1 ต่อท้าย command หลังจากมั่นใจว่า job ทำงานถูกต้องแล้ว
ตรวจ Cron Job หลังสร้าง
หลังสร้าง cron สำเร็จ DirectAdmin จะพากลับมาที่หน้ารวมและแสดงงานใหม่ในตารางในตัวอย่างภาพนี้สร้าง schedule เป็น 0 3 * * * พร้อม command ที่เรียกไฟล์ cron.php และ redirect output ไป /dev/null

- ช่องเลือกหน้าแถว - ใช้เลือก cron job เพื่อเตรียมลบด้วยคำสั่งหลายรายการ
- ช่องเลือกหัวตาราง - ใช้เลือกทุกแถวในตารางปัจจุบัน เหมาะเฉพาะกรณีที่ตั้งใจจัดการทุกงานจริง ๆ
- Minute/Hour/Day of Month/Month/Day of Week - แสดง schedule ที่ cron จะใช้รัน เช่น
0,3,*,*,* - Delete - ปุ่มด้านขวาของ With selected ใช้เปิดหน้าต่างยืนยัน เพื่อลบ cron ที่เลือกไว้
การแก้ cron เดิมด้วยไอคอน ดินสอควรระวังเหมือนสร้างใหม่ทุกครั้ง เพราะการเปลี่ยนจากรันวันละครั้งเป็นทุกนาที หรือแก้ command ผิด path เพียงครั้งเดียว อาจทำให้เว็บช้า งานไม่รัน หรือมี error mail จำนวนมากได้
ลบ Cron Job อย่างปลอดภัย
การลบ cron job เริ่มจากติ๊กช่องเลือกหน้าแถวที่ต้องการลบ เมื่อเลือกแล้วข้อความ With selected จะเปลี่ยน เช่น With selected (1 / 1) และปุ่ม Delete จะกดได้ จากนั้น DirectAdmin จะแสดงหน้าต่างยืนยันการลบ

- ไอคอนคำเตือน - ไอคอนเตือนว่ากำลังใช้คำสั่งที่มีผลจริงกับ cron job ที่เลือก
- Delete Cron job - ชื่อหน้าต่างยืนยันการลบ
- ปุ่ม X มุมขวาบน - ปิดการยืนยันโดยไม่ลบ cron
- CONFIRM - ยืนยันลบ cron job จริง หลังจากกดแล้วรายการจะหายจากตาราง
ก่อนกด CONFIRM ให้เช็ก 6 ข้อ:
- เลือกแถวถูกหรือยัง - ดูช่องเลือกหน้าแถว ไม่ใช่ดูแค่ตำแหน่ง cursor
- อ่าน command ให้ครบ - path หรือ URL ที่คล้ายกันอาจเป็นคนละงาน
- รู้หน้าที่ของ cron นี้ - ถ้าไม่รู้ว่าใช้ทำอะไร อย่าเพิ่งลบ ให้จด command แล้วถามทีมที่ดูแลเว็บก่อน
- ทดสอบระบบหลังลบ - ดู งานที่เกี่ยวข้อง เช่นอีเมล, order, import/export หรือ report ว่ายังทำงานตามที่ต้องการหรือไม่
หลังบันทึกหรือเริ่มใช้งานแล้ว ควรทดสอบเว็บไซต์จากหน้าใช้งานจริงทันที และเก็บ Backup หรือวิธีย้อนกลับไว้เสมอ หากผลลัพธ์ไม่เป็นอย่างที่คาดจะได้กลับมาแก้ทีละจุดได้ง่ายครับ
ต้องการสอบถามข้อมูลเพิ่มเติม?
สามารถแอดไลน์คุยกันก่อนได้ที่ line: @PhalconHost