Cloud & Server One Stop Services

วิธีตั้ง Cronjob หรือ Crontab เพื่อให้ Script ทำงานอัตโนมัติบน Linux

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

cronjob

crontab

วิธีตั้ง Cronjob หรือ Crontab

สุดท้ายนี้ แนะนำเว็บ Crontab Generator ไว้สำหรับสร้าง command กันอย่างง่ายๆ ครับ https://crontab-generator.org/