พฤษภาคม 23, 2026คู่มือ
วิธีตั้งค่า Cron Jobs บน Linux Server
เรียนรู้ syntax ของ cron การแก้ไข crontab ตัวอย่างการกำหนดเวลาที่พบบ่อย และ logging สำหรับงานอัตโนมัติบน VPS

Cron เป็น scheduler มาตรฐานของ Linux สำหรับรันสคริปต์และคำสั่งในเวลาที่กำหนด — backup ล้าง cache ตรวจสอบ certificate และอื่นๆ คู่มือนี้แสดงวิธีใช้ cron บนเซิร์ฟเวอร์ Hiddence ของคุณ
Cron syntax
แต่ละบรรทัดมีห้าฟิลด์เวลาตามด้วยคำสั่ง:
bash
# ┌──────── minute (0-59)
# │ ┌────── hour (0-23)
# │ │ ┌──── day of month (1-31)
# │ │ │ ┌── month (1-12)
# │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
# │ │ │ │ │
# * * * * * command
# Every day at 3:00 AM:
0 3 * * * /usr/local/bin/backup.sh
# Every 15 minutes:
*/15 * * * * /usr/local/bin/check.shแก้ไข crontab
ใช้ crontab -e สำหรับ user ปัจจุบัน สำหรับงาน root (งานระบบส่วนใหญ่) ใช้ sudo:
bash
# Edit your user crontab
crontab -e
# Edit root crontab
sudo crontab -e
# List current jobs
crontab -l
sudo crontab -lตัวอย่างที่พบบ่อย
- 0 2 * * * — backup รายวันเวลา 2:00 น.
- 0 */6 * * * — ทุก 6 ชั่วโมง
- 0 0 * * 0 — ทุกวันอาทิตย์เที่ยงคืน
- */5 * * * * — ทุก 5 นาที (ใช้อย่างระมัดระวัง)
- @reboot /path/script.sh — รันครั้งเดียวหลัง reboot
- @daily /usr/bin/certbot renew --quiet — ตรวจสอบ Certbot รายวัน
Logging และ debugging
เปลี่ยนเส้นทาง output ไปยังไฟล์ log เพื่อทราบว่า job ล้มเหลวหรือไม่:
bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1
# View cron execution in system log:
grep CRON /var/log/syslog # Ubuntu
grep CRON /var/log/cron # CentOSเคล็ดลับ
- ใช้ absolute path ในคำสั่ง cron
- ทดสอบสคริปต์ด้วยตนเองก่อนเพิ่มใน crontab
- ตั้ง MAILTO=your@email.com ใน crontab สำหรับอีเมล error (หาก mail ตั้งค่าแล้ว)
- ใช้ systemd timers สำหรับ dependencies ที่ซับซ้อนบนระบบสมัยใหม่
- อย่ารันงานหนักทุกนาที — อาจทำให้ VPS โอverload