Hosting & DirectAdmin

DirectAdmin: ตั้งเวลารัน Script ด้วย Cron Jobs

วิธีตั้ง Cron Job เพื่อรัน PHP / shell script ตามเวลาที่กำหนด พร้อมตัวอย่างค่ามาตรฐาน

10 มิ.ย. 2569 อ่าน ~2 นาที 76 ครั้ง
สารบัญ 10 หัวข้อ
  1. Cron Job คืออะไร
  2. สร้าง Cron Job ใหม่
  3. ตัวอย่างค่าที่ใช้บ่อย
  4. ตัวอย่าง Command
  5. รัน PHP script
  6. รัน WordPress cron
  7. Backup ฐานข้อมูล
  8. ปิด output email (ไม่ให้ส่งเมลทุกครั้งที่รัน)
  9. ตรวจสอบว่า Cron รันจริง
  10. ลบ Cron Job

Cron Job คืออะไร

Cron Job คือคำสั่งที่ระบบรันให้อัตโนมัติตามเวลาที่กำหนด เช่น:

  • รัน WordPress cron (wp-cron.php) ทุก 15 นาที
  • Backup ฐานข้อมูลทุกคืนตี 2
  • Clear cache ทุกชั่วโมง

สร้าง Cron Job ใหม่

  1. ไปที่ Account Manager → Cron Jobs
  2. กรอก:

- Minute — นาที (0–59) หรือ * = ทุกนาที

- Hour — ชั่วโมง (0–23) หรือ * = ทุกชั่วโมง

- Day of Month — วันที่ (1–31)

- Month — เดือน (1–12)

- Day of Week — วันในสัปดาห์ (0=Sun … 6=Sat)

- Command — คำสั่งที่จะรัน

  1. กด Add

ตัวอย่างค่าที่ใช้บ่อย

ความถี่MinHourDayMonDoW
ทุกนาที*
ทุก 15 นาที/15*
ทุกชั่วโมง0
ทุกวัน ตี 202*
ทุกวันจันทร์ 9โมง091

ตัวอย่าง Command

รัน PHP script

/usr/local/bin/php /home/username/domains/yourdomain.com/public_html/cron.php

รัน WordPress cron

cd /home/username/domains/yourdomain.com/public_html && /usr/local/bin/php wp-cron.php

Backup ฐานข้อมูล

/usr/bin/mysqldump -u user -ppassword dbname | gzip > /home/username/backups/db-$(date +\%Y\%m\%d).sql.gz
สัญลักษณ์ % ในคำสั่ง cron ต้อง escape เป็น \%

ปิด output email (ไม่ให้ส่งเมลทุกครั้งที่รัน)

ต่อท้าย command:

... > /dev/null 2>&1

หรือใส่อีเมลของคุณในช่อง Cron E-mail เพื่อรับ output ทุกครั้ง (เหมาะกับช่วงทดสอบ)

ตรวจสอบว่า Cron รันจริง

ใส่ log ใน script เช่น

file_put_contents(__DIR__.'/cron.log', date('Y-m-d H:i:s').PHP_EOL, FILE_APPEND);

แล้วเปิด cron.log เช็คดู

ลบ Cron Job

ไปที่หน้า Cron Jobs → กด Delete ที่บรรทัดที่ต้องการ

บทความนี้ช่วยคุณได้ไหม?คะแนนของคุณช่วยให้เราปรับปรุงคู่มือให้ดีขึ้น