สร้าง 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
คอมพิวเตอร์คืออะไร
โดย Best1677 พ 07 ก.พ. 2024 3:08 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
289
พ 07 ก.พ. 2024 3:08 pm โดย Best1677 View Topic คอมพิวเตอร์คืออะไร
ความรู้พื้นฐานเกี่ยวกับคอมพิวเตอร์
โดย Anonymous พ 07 ก.พ. 2024 3:04 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
294
พ 07 ก.พ. 2024 3:04 pm โดย บุคคลทั่วไป View Topic ความรู้พื้นฐานเกี่ยวกับคอมพิวเตอร์
คอมพิวเตอร์ของฉันทำไมช้าจัง?
โดย Anonymous อ 06 ก.พ. 2024 10:41 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
219
อ 06 ก.พ. 2024 10:41 am โดย บุคคลทั่วไป View Topic คอมพิวเตอร์ของฉันทำไมช้าจัง?
นี่คือหตุผลทำไมโปรแกรมเมอร์บริษัทเทคโนโลยี หรือ บ.เทค มีการลดพนักงานลง เงินเดือนขึ้นเร็วและโดนจ้างออกเร็ว
โดย Anonymous จ 05 ก.พ. 2024 3:35 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
429
จ 05 ก.พ. 2024 3:35 pm โดย บุคคลทั่วไป View Topic นี่คือหตุผลทำไมโปรแกรมเมอร์บริษัทเทคโนโลยี หรือ บ.เทค มีการลดพนักงานลง เงินเดือนขึ้นเร็วและโดนจ้างออกเร็ว
รับทำโฆษณา Google ให้ติดหน้าแรกและมีประสิทธิภาพสูง
โดย @Foretoday จ 05 ก.พ. 2024 11:31 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
270
จ 05 ก.พ. 2024 11:31 am โดย @Foretoday View Topic รับทำโฆษณา Google ให้ติดหน้าแรกและมีประสิทธิภาพสูง
Cloud Backup มีความสำคัญอย่างไร ต่อการจัดเก็บข้อมูลของธุรกิจ
โดย Athapol Panngern ศ 02 ก.พ. 2024 10:18 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
406
ศ 02 ก.พ. 2024 10:18 am โดย Athapol Panngern View Topic Cloud Backup มีความสำคัญอย่างไร ต่อการจัดเก็บข้อมูลของธุรกิจ
ประเมิณราคาเปลี่ยนจอ อะไหล่ เปลี่ยนจอ samsung s10e
โดย mindphp พฤ 01 ก.พ. 2024 7:49 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
620
ส 03 ก.พ. 2024 12:32 am โดย mindphp View Topic ประเมิณราคาเปลี่ยนจอ อะไหล่ เปลี่ยนจอ samsung s10e
จะเข้า Line แต่ใช้มือถือ Scan QRCode ไม่ได้ ต้องทำยังไงดี
โดย Narisara พ 31 ม.ค. 2024 12:41 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
455
พ 31 ม.ค. 2024 12:44 pm โดย Narisara View Topic จะเข้า Line แต่ใช้มือถือ Scan QRCode ไม่ได้ ต้องทำยังไงดี