สร้าง Crontab Cron job เพื่อรัน php ตามเวลาที่ต้องการ

Crontab เป็นโปรแกรมหนึ่งบน Linux ทุกสกุลที่มีเครื่องมือนี้ให้ใช้ โดยไว้สำหรับทำให้เรียกโปรแกรม หรือ command อื่นๆ ทำงานอัตโนมัตตามเวลา ความถึ่ที่เราต้องการได้ เช่นโปรแกรมเทียบเวลาทุกวัน หรือ ทำโปรแกรม backup ไฟล์ทุกๆวันไว้ว่าจะเขียนด้วย shell หรือ python หรือ php ก็สามารถใช้คู่กับ crontab ได้


Crontab syntax :-

* * * * * command to be executed

รูปแบบทั่วไป
# m h dom mon dow command
โดย จะอธิบายไว้ด้านล่าง
- - - - -
| | | | |
| | | | +----- dow วันในสัปดาห์มีค่าเป็วเลขจาก (0 - 6) ( โดยนับ 0 เป็นวันอาทิตย์)
| | | +------- mon เดือน (1 - 12)
| | +--------- dom วันในเดือน (1 - 31)
| +-----------  h ชัวโมง (0 - 23)
+------------- m นาที (0 - 59)  ถ้าต้องการระยะเวลาน้อยกว่า 1 นาที ให้ใส่เป็นเศษส่วนด้วยนี้ เช่น ทุกเครื่องนาที 1/2

แก้ไขไฟล์ crontab ด้วย vi
ก่อนเพิ่มงานเข้าไปใน crontab ลองใช้ คำสั่ง crontab -l เพื่มดูว่ามีงานอะไรอยู่บ้างแล้ว
เพิ่มงาน เข้าไปใน crontab
พิมพ์

crontab -e 

ระบบจะเปิด editor ประจำตัวของระบบขึ้นมา ผมยกตัวอย่างใน FreeBSD
จะใช้ โปรแกรม vi ในการแก้ไขไฟล์นี้
กด i เพิ่ม เพิ่มงาน ตาม syntax ข้างบน
เช่น ผมต้องการให้รัน ไฟล์ https://www.mindphp.com/mindphp.php ทุก นาที
ก็ใช้คำสั่ง

* * * * * fetch http://www.mindphp.com/mindphp.php 


หรือ รัน ทุกๆ วัน เวลา ตี

4 0 4 * * * fetch http://www.mindphp.com/mindphp.php


เสร็จแล้ว กดปุ่ม Esc ตามด้วย :wq เพื่อ save และออกจากโปรแกรม vi
ลองเช็คว่า ที่เรากำหนดไป ทำงานหรือเปล่า check log จาก

tail -g /var/log/cron 

ดูว่ามี process หรือไม่

fetch เป็นโปรแกรม ดึงไฟล์ (เอามาให้มันเรียกไฟล์ใน Server เราเอง)
หรือจะใช้ ให้ php รัน แบบ command ก็ได้
เช่น

0 4 * * * /usr/local/bin/php /home/mindphp/www/mindphp.com

จะเห็นว่า Cron บน Linux มีประโยชน์มากๆ สำหรับการตั้งโปรแกรมให้ทำงานซ้ำๆ นอกจากนี้บน Windows ก็มีต่อเพิ่มเติมได้ที่นี่ การตั้งค่า Task Scheduler ให้โปรแกรมทำงานอัตโนมัติ ทำงานซ้ำๆตามเวลาที่กำหนด

สำหรับต้องการใช้ทำงานในความถี่หน้อยกว่า 1 นาที่ เราสามารถใช้สัดส่วนได้ เช่นทุก 30 วินาที่ ใช้ */2

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีสมัคร Binance ง่าย ๆ ใน 3 นาที ผจญภัยในโลกของ crypto
โดย p444722 อ 02 ม.ค. 2024 11:52 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
283
อ 02 ม.ค. 2024 11:52 pm โดย p444722 View Topic วิธีสมัคร Binance ง่าย ๆ ใน 3 นาที ผจญภัยในโลกของ crypto
วิธีเปิดบัญชี Binance ขั้นตอนในการลงทุนดิจิทัล
โดย p444722 อ 02 ม.ค. 2024 11:32 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
281
อ 02 ม.ค. 2024 11:32 pm โดย p444722 View Topic วิธีเปิดบัญชี Binance ขั้นตอนในการลงทุนดิจิทัล
วิธีอ่านค่าตัวต้านทาน แบบเส้น 4 และ 5 แถบสี วิธีการอ่านค่าตัวต้านทาน Resistor (R)
โดย mindphp จ 01 ม.ค. 2024 2:30 pm บอร์ด IOT - Internet of things
2
1801
จ 01 ม.ค. 2024 2:45 pm โดย mindphp View Topic วิธีอ่านค่าตัวต้านทาน แบบเส้น 4 และ 5 แถบสี วิธีการอ่านค่าตัวต้านทาน Resistor (R)
ความแตกต่างของเครื่อง Server R210 กับ R210 II
โดย mindphp จ 01 ม.ค. 2024 11:37 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
309
จ 01 ม.ค. 2024 12:04 pm โดย mindphp View Topic ความแตกต่างของเครื่อง Server R210 กับ R210 II
มาทำความรู้จักกับบัตรผ่อนสินค้ากัน
โดย asider8629 อ 31 ธ.ค. 2023 8:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
291
จ 01 ม.ค. 2024 9:58 am โดย Consolez View Topic มาทำความรู้จักกับบัตรผ่อนสินค้ากัน
ESP32 WiFi Node32s ESP-32 ESP-32S NodeMCU ESP-WROOM-32 WiFi Bluetooth
โดย mindphp อ 31 ธ.ค. 2023 8:28 pm บอร์ด IOT - Internet of things
0
773
อ 31 ธ.ค. 2023 8:28 pm โดย mindphp View Topic ESP32 WiFi Node32s ESP-32 ESP-32S NodeMCU ESP-WROOM-32 WiFi Bluetooth
Mg90s Servo เฟืองเหล็ก motor Version อัพเกรดเฟือง ตัวนี้หมุนครึ่งรอบ 180 องศา
โดย mindphp อ 31 ธ.ค. 2023 8:27 pm บอร์ด IOT - Internet of things
0
1343
อ 31 ธ.ค. 2023 8:27 pm โดย mindphp View Topic Mg90s Servo เฟืองเหล็ก motor Version อัพเกรดเฟือง ตัวนี้หมุนครึ่งรอบ 180 องศา
ชุดข้อต่อ Servo Bracket เป็นโลหะวัสดุทนมาก ไว้ใช้คู่กับ Servo สำหรับทำแขนหมุน
โดย mindphp อ 31 ธ.ค. 2023 8:26 pm บอร์ด IOT - Internet of things
0
1326
อ 31 ธ.ค. 2023 8:26 pm โดย mindphp View Topic ชุดข้อต่อ Servo Bracket เป็นโลหะวัสดุทนมาก  ไว้ใช้คู่กับ Servo สำหรับทำแขนหมุน