เว็บนี้มีลิงก์ affiliate บางลิงก์ — เราอาจได้รับค่าคอมมิชชันหากสมัครผ่านลิงก์เหล่านั้น · Some links are affiliate links. รายละเอียด
คู่มือ · Cron & Automation

Cron Job คืออะไร? ตั้งค่า Cron บน Hosting ไทย 2026

Cron Job คืออะไร? ตั้งค่า Cron บน Hosting ไทย 2026

Cron Job คือคำสั่งที่ถูกตั้งให้รันโดยอัตโนมัติตามเวลาที่กำหนด เหมาะสำหรับงานที่ต้องทำซ้ำๆ เช่น ส่งอีเมล newsletter, สำรองข้อมูล, อัพเดท sitemap หรือล้าง cache ในช่วงเวลาที่กำหนด

A Cron Job is a command scheduled to run automatically at specified times — perfect for repetitive tasks like sending newsletter emails, database backups, sitemap updates, or cache clearing.

ไวยากรณ์ Cron Expression

Cron expression ประกอบด้วย 5 ฟิลด์ตามลำดับ:

* * * * * command
| | | | |
| | | | └── Day of week (0=Sun, 1=Mon...6=Sat)
| | | └──── Month (1-12)
| | └────── Day of month (1-31)
| └──────── Hour (0-23)
└────────── Minute (0-59)

ตัวอย่าง Cron Expression ยอดนิยม

Common expressions: every hour at minute 0, daily at 2AM, every Sunday 2AM, 1st of every month, every 5 minutes, 9AM and 5PM weekdays.

แนะนำAsiaGB.com — Web Hosting & VPS ที่เราแนะนำ เซิร์ฟเวอร์ในไทยและสิงคโปร์ สตอเรจ SSD จัดการผ่าน DirectAdmin พร้อมทีม Support ภาษาไทย 24 ชั่วโมง uptime 99%

AsiaGB.com — hosting & VPS we recommend: TH/SG servers, SSD storage, DirectAdmin, 24h Thai support, 99% uptime.

เยี่ยมชม AsiaGB →

สร้าง Cron Job ใน DirectAdmin

  1. Login DirectAdmin → Advanced FeaturesCron Jobs
  2. กรอก Minute, Hour, Day, Month, Weekday และ Command
  3. ตัวอย่าง command backup database ทุกคืน:
    /usr/bin/mysqldump -u dbuser -p'dbpass' dbname > /home/user/backup/db_$(date +\%Y\%m\%d).sql
  4. คลิก Add Cron Job

In DirectAdmin: Advanced Features → Cron Jobs → Fill minute/hour/day/month/weekday and command → Add Cron Job.

WordPress WP-Cron

WordPress มีระบบ Cron ของตัวเองที่เรียกว่า WP-Cron ทำงานโดยรัน wp-cron.php ทุกครั้งที่มีผู้เยี่ยมชมเว็บ ข้อเสียคือถ้าไม่มีผู้เยี่ยมชม tasks จะไม่รัน

วิธีแก้: ปิด WP-Cron และสร้าง real cron job แทน:

# ใน wp-config.php เพิ่มบรรทัด:
define('DISABLE_WP_CRON', true);

# สร้าง cron job ใน DirectAdmin:
*/5 * * * * /usr/bin/php /home/user/public_html/wp-cron.php > /dev/null 2>&1

Use Cases ยอดนิยมสำหรับ Cron Job

Troubleshoot Cron ที่ไม่ทำงาน

คำถามที่พบบ่อย (FAQ)

Cron Job รันบ่อยที่สุดได้แค่ไหน?

ทุก 1 นาที (*/1 * * * *) คือ minimum บน standard cron แต่หลาย hosting จำกัดไม่ให้รันบ่อยกว่าทุก 5 นาที ตรวจสอบ policy ของ hosting ของคุณก่อน

Cron Job fail แล้วจะรู้ได้ยังไง?

Cron มักส่ง email แจ้งเมื่อ job fail ถ้าตั้ง MAILTO ไว้ หรือเพิ่ม error log redirect ท้าย command: 2>> /tmp/cron-error.log

ถ้า Cron Job ทำงานนานกว่า interval ที่ตั้งจะเป็นยังไง?

Cron จะรัน job ใหม่ทับ job เดิมที่ยังทำงานอยู่ ทำให้อาจเกิด race condition ป้องกันด้วยการใช้ lock file หรือ flock command

Cron Job กับ WordPress Scheduled Posts ต่างกันยังไง?

WordPress Scheduled Posts ใช้ WP-Cron ซึ่งทำงานเมื่อมี visitor มาเว็บ ถ้าเว็บไม่มี traffic บทความอาจ publish ช้า การตั้ง real cron job แทน WP-Cron แก้ปัญหานี้ได้