ใช้ crontab ตั้งเวลารันโปรแกรมในเครื่อง CentOS

โปรแกรมบน CentOS ที่ควรติดตั้งใช้งานร่วมกับ VoIP Server

ใช้ crontab ตั้งเวลารันโปรแกรมในเครื่อง CentOS

โพสต์โดย nuiz » 22 มี.ค. 2011 17:09

ปกติผมไม่ค่อยได้ใช้ crontab บ่อยครับ พอจะใช้งานทีก็เข้า Google หาที บางทีก็หาเจอแบบเป๊ะๆเลย บางทีก็ต้องนั่งหาสักพักนึงถึงจะรู้เรื่อง ก็เลยเขียนบทความซะเลย พอต้องการใช้งานก็เปิดดูของตัวเองเลย

เข้า crontab พิมพ์คำสั่ง

โค้ด: เลือกทั้งหมด
crontab -e


แต่ละบรรทัดจะมี 6 ส่วนด้วยกัน จะคั่นด้วย space หรือว่า tab ก็ได้ ดังนี้

minute hour date-of-month month day-of-week command

โดยที่
minute คือนาที มีค่า 0 - 59 เช่น 3 คือ 3 นาที 20 คือ 20 นาที
hour คือชั่วโมง มีค่า 0 - 23 เช่น 0 คือตอนเที่ยงคืน 23 คือตอน 5 ทุ่ม
date-of-month คือวันที่ มีค่า 1-31 เช่น 1 คือวันที่ 1 และ 28 คือวันที่ 28
month คือเดือน มีค่า 1-12 เช่น 2 คือเดือนกุมภาพันธ์ และ 12 คือเดือนธันวาคม
day-of-week คือวันของสัปดาห์ มีค่า 0 - 6 เช่น 0 คือวันอาทิตย์ 5 คือวันศุกร์
ตรงส่วนไหนที่เราไม่ต้องการระบุ ก็ใส่ * เข้าไปแทน
command คือคำสั่งที่เราต้องการให้มันรัน

เช่น
รันคำสั่ง reboot ทุก 5 นาที
*/5 * * * * /sbin/reboot

รันคำสั่ง reboot ทุก 16:55
55 16 * * * /sbin/reboot

รันคำสั่ง reboot ทุก วันที่ 15 ของทุกเดือน
* * 15 * * /sbin/reboot

รันคำสั่ง reboot ทุกวันที่ 28 เดือนพฤศจิกายน ตอนสองทุ่ม ห้านาที
5 20 28 11 * /sbin/reboot

รันคำสั่ง reboot ทุกวันอาทิตย์ตอนตีหนึ่ง
0 1 * * 0 /sbin/reboot

ประมาณนี้ครับ

เรียกดูรายการใน crontab ใช้คำสั่ง
โค้ด: เลือกทั้งหมด
crontab -l


รันหลายๆช่วงเวลาในบรรทัดเดียว ใช้ , คั่นครับ ยกตัวอย่าง

รันคำสั่ง reboot ทุกวันตอน 10:00, 12:00, 18:00, 23:00
0 10,12,18,23 * * * /sbin/reboot
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง CentOS - The Community Enterprise Operating System

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 10 ท่าน