Crontab หรือ Cronjob คือ การตั้งเวลา เพื่อทำการทำงานอย่างใดอย่างหนึ่งโดยอัตโนมัติในช่วงเวลาที่กำหนด Crontab เป็นโปรแกรมบน Linux ที่มีมาพร้อมกับ Linux Server ทุกเครื่อง ทุกตระกูล สามารถเรียกใช้งานได้ฟรีโดยไม่ต้องเสียค่าใช้จ่ายเพิ่ม
ตัวอย่างเบื้องต้นของการนำ Crontab ไปใช้
เช่น
- การเรียก Script PHP หรือ Python ที่ได้เขียนไว้ตามต้องการ
- การรัน MySQL Command เพื่อวิเคราะห์ สรุปผล
- การรัน MySQL เพื่อทำการ Optimize Database เป็นประจำทุกวัน
รูปแบบคำสั่ง
- minute มีค่า 0 – 59 เวลาเป็นนาที อาจะใช้ */5 หมายความว่า ทุกๆ 5 นาที
- hour มีค่า 0 – 23 เวลาเป็นชั่วโมง
- day มีค่า 1 – 31 เวลาเป็นวัน
- month มีค่า 1 – 12 เวลาเป็นเดือน
- weekday มีค่า 0 – 6 วันของแต่ละสัปดาห์
- command ว่าต้องการให้ทำอะไร
Option ของคำสั่ง Crontab
- crontab filename การนำเอาคำสั่ง crontab จากไฟล์อื่น
- crontab -e แก้ไข crontab ปัจจุบัน
- crontab -l ดูคำสั่ง crontab ทั้งหมดที่มีอยู่
- crontab -r ลบคำสั่ง crontab ที่มีทั้งหมด
- crontab -u user ใช้สำหรับควบคุม crontab ของ user
เริ่มต้นเพิ่ม Cronjob บน Linux Server
ทำการ SSH เข้าเซิร์ฟเวอร์ที่ต้องการจัดการ Crontab จากนั้นพิมพ์คำสั่ง
crontab -e
เพื่อแก้ไข จากนั้นกดปุ่ม i เพื่อเริ่ม edit เมื่อใส่ค่าต่างๆ ใน cronjob ตามที่ต้องการแล้ว ให้กด :wq! เพื่อ Save และออกจากหน้า Crontab
สุดท้ายนี้ แนะนำเว็บ Crontab Generator ไว้สำหรับสร้าง command กันอย่างง่ายๆ ครับ https://crontab-generator.org/