โครงสร้างของมันปกติจะอยู่ลักษณะนี้
[min] [hour] [day of month] [month] [day of week] [program to be run]
คำอธิบาย
[min] คือนาที ค่าที่ใส่ได้ คือ 0-59 และ * ที่หมายถึงทุกๆ นาที ซึ่งห้ามใส่ * ในช่องนี้เป็นอันขาด ไม่งั้นมันรันทุกๆ นาที (แดร็กระบบ)
[hour] คือชั่วโมง ค่าที่ใส่ได้คือ 0-23 และ * ที่หมายถึงทุกๆ ชั่วโมง ทั้งชั่วโมงและนาที แนะนำให้ใส่ 0 ในกรณีไม่อยากใส่อะไร เช่นอยากตั้งเป็นรันทุกๆ วัน จะได้เป็นการรันตอนเที่ยงคืน (คนน้อย) หรืออาจปรับเป็นตี 1 ตี 2 ตามสมควร
[day of month] คือวันที่ ค่าที่ใส่ได้คือ 1-31 และ * ที่หมายถึงทุกๆ วันของเดือน (ยังกะประจำเดือน)
[month] คือเดือน ค่าที่ใส่ได้คือ 1-12 และ * ที่หมายถึงทุกๆ เดือน
[day of week] คือวันของสัปดาห์ ค่าที่ใส่ได้คือ 0-6 วันอาทิตย์คือ 0 วันจันทร์คือ 1 ไล่ไปถึงวันเสาร์คือ 6 และ * ที่หมายถึงทุกๆ วันของสัปดาห์
[program to be run] คือพาทหรือคำสั่งที่เราต้องการรัน
วิธีการใส่ก็จะมีใส่ตามวิธีเหล่านี้
1. ระบุเวลาที่ต้องการตายตัวเลย เช่น อยากรันทุกๆ 6:00 ของทุกวัน ก็จะเป็น
0 6 * * * your command
2. ระบุช่วงเวลาที่ต้องการเป็นช่วงๆ เช่น อยากรันตั้งแต่วันจันทร์ถึงวันพุธ ก็จะเป็น
0 0 * * 1-3 your command
3. ระบุช่วงเวลาที่ต้องการเป็นหน่วยย่อยๆ เช่น อยากรันทุกๆ วันที่ 1 5 7 9 และ 11 ก็จะเป็น
0 0 1,5,7,9,11 * * your command
4. ระบุช่วงเวลาเป็น ทุกๆ กี่ x เช่น อยากรันทุกๆ 4 ชั่วโมง ก็จะเป็น
0 */4 * * * your command
เพิ่มเติม
@yearly (or @annually) รันทุกวันที่ 1 ของเดือน มกราคม
รูปแบบ 0 0 1 1 *
@monthly รันวันแรกของเดือนทุกๆ เดือน
รูปแบบ 0 0 1 * *
@weekly รันทุกๆ วันอาทิตย์
รูปแบบ 0 0 * * 0
@daily รันทุกๆ วัน
รูปแบบ 0 0 * * *
@hourly รันทุกๆ ชั่วโมง
รูปแบบ 0 * * * *
@reboot รันตอน Start up
รูปแบบ @reboot
ตัวอย่างการตั้งเวลาในระบบ linux
คำสั่ง crontab
parameter
-l ดูรายการที่มีการตั้งเวลาไว้
-e เพิ่มหรือแก้ไขรายการที่ตั้งเวลาไว้ แบบ vi editor
เช่น
# crontab -e
ข้างในก็ใส่ cron expression และตามด้วยโปรแกรมที่ต้องการรันได้เลย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น