วิธีใช้งาน Crontab (Cron Jobs) บน Linux Server

หมวดหมู่ : Linux

อ่าน : 3,836
Cron Jobs CronJobs laravel schedule
วิธีใช้งาน Crontab (Cron Jobs) บน Linux Server

Crontab คือคำสั่งที่จะทำงานตามเวลาที่กำหนด ซึ่งจะช่วยทำให้เราสะดวกขึ้นมากในการที่จะต้องสั่งงานบางอย่างซ้ำๆ กันหลายๆ ครั้ง อาจจะเป็นทุกๆ ชั่วโมง ทุกๆ วัน หรือ ทุกๆ เดือน เช่นการสั่งให้ Server ทำ Backup ทุกๆ สัปดาห์


คำสั่งและ option ของ crontab มีดังนี้

  • #crontab filename การนำเอาคำสั่ง crontab เข้ามาจาก ไฟล์อื่น
  • #crontab -e แก้ไข crontab ปัจจุบัน (ส่วนมากเราจะเพิ่มคำสั่งลงไปในนี้เลย)
  • #crontab -l ดูคำสั่ง crontab ทั้งหมดที่มีอยู่
  • #crontab -r ลบคำสั่ง crontab ที่มีทั้งหมด
  • #crontab -u user เป็นคำสั่งของผู้ดูแลระบบเท่านั้น เพื่อใช้ดู แก้ไข ลบ crontab ของ user แต่ละคน


รูปแบบของคำสั่ง crontab มีทั้งหมด 6 fields ดังนี้

  • 1 = minute มีค่า 0 – 59 เวลาเป็นนาที จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงนาทีที่กำหนด
  • 2 = hour มีค่า 0 – 23 เวลาเป็นชั่วโมง จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงชั่วโมงที่กำหนด
  • 3 = day มีค่า 1 – 31 เวลาเป็นวัน จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงวันที่กำหนด
  • 4 = month มีค่า 1 – 12 เวลาเป็นเดือน จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงเดือนที่กำหนด
  • 5 = weekday มีค่า 0 – 6 วันขะงแต่ละสัปดาห์ มีค่าดังนี้ (อาทิตย์ = 0, จันทร์ = 1, อังคาร = 2, พุธ = 3, พฤหัส = 4, ศุกร์ = 5 ,เสาร์ = 6 )
  • 6 = command คำสั่ง เราสามารถกำหนดคำสั่งได้มากมาย รวมทั้ง script ต่าง ๆ ตามที่เราต้องการ


โดยสามารถจำเป็นรูปแบบง่ายได้ดังนี้





เริ่มเพิ่ม Cron Jobs โดยใช้คำสั่ง

crontab -e

ตัวอย่าง

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
หรือ

* * * * * cd /path-to-your-project && php artisan [คำสั่งของเรา] >> /dev/null 2>&1


Tip 

รูปแบบการเขียน สามารถ ทดสอบได้ ได้ที่ เว็บนี้ เลย https://crontab.guru/