format ของคำสั่ง crontab มีทั้งหมด 6 fields เป็นดังบรรทัดข้างล่าง
Code:
minute(s) hour(s) day(s) month(s) weekday(s) command(s)
fields 1-5 เป็นการกำหนดเวลา และ field ที่ 6 เป็นการกำหนดคำสั่ง ดังความหมายของแต่ละ fields ดังต่อไปนี้
…………………………………………………………………………………………
Field มีค่า รายละเอียด
…………………………………………………………………………………………
minute 0-59 เวลาเป็นนาที จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
hour 0-23 เวลาเป็นชั่วโมง จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
day 1-31 เวลาเป็นวัน จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
month 1-12 เวลาเป็นเดือน จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
weekday 0-6 วันของแต่ละสัปดาห์ มีค่าดังนี้ (อาทิตย์ = 0, จันทร์ = 1, อังคาร = 2, พุธ = 3, พฤหัส = 4, ศุกร์ = 5 และ เสาร์ = 6)
command คำสั่ง เราสามารถกำหนดคำสั่งได้มากมาย รวมทั้ง script ต่างๆ ตามที่เราต้องการ
……………………………………………………………………………………………
ตัวอย่างการกำหนด crontab
———————————
การเพิ่ม crontab โดยเรียกใช้คำสั่ง crontab -e เมื่อเข้าสู่โปรแกรมแล้ว กด i เพื่อเพิ่ม คำสั่งดังตัวอย่างด้านล่างนี้เข้าไป แล้วทำการบันทึก
แล้วออกมาโดยกด Esc แล้วกด :wq!
Code:
0 8 * * * /usr/bin/mplayer /home/tuxzilla/music/คุณครูครับ.mp3
จากคำสั่งด้านบนจะเป็นการสั่งให้โปรแกรม mplayer เล่นเพลง คุณครูครับ.mp3 ตอน 08:00 น. ของทุกๆวัน (เวลาตื่นนอนของผมเอง)
Code:
0 0 * * 1 /home/tuxzilla/getlogs.pl
จากคำสั่งด้านบน จะทำการ Run script getlogs.pl ที่ path /home/tuxzilla ทุกวันจันทร์ ทุกๆเดือน ตอนเที่ยงคืน
Code:
0 0 * * 1,5 /home/tuxzilla/getlogs.pl
คำสั่งนี้เหมือนคำสั่งด้านบนครับ แต่จะเพิ่มการทำงานในวันศุกร์ด้วย ซึ่งเราสามารถใช้ “,” คั่นไปเรื่อยๆได้ เพื่อที่จะกำหนดเพิ่มให้แต่ล่ะ fields หรือใช้ “*”
เพื่อการกำหนดเป็นทั้งหมด(หมายความว่า หากที่ field ชั่วโมง เป็น * ก็หมายความว่าต้องทำงานทุกชั่วโมง)
ถึงจะมีหลาย user ในเครื่องเดียวกันแต่ยังไง crontab ก้ยังเป็นของใครของมันไม่กวนกันครับ และไม่สามารถดูของกันและกันได้ นอกจากเป็น
ผู้ดูแลระบบครับ ถึงตรงนี้แล้วก็คงไม่มีอะไรยากเกินกว่าแล้ว หากแต่ความสะดวกเท่านั้นที่จะมาแทนที หรือใครจะเอามาเป็นนาฬิกา อย่างผมก็ไม่ว่าครับ
แหล่งที่มา : http://www.dev.bkkserver.net/?p=131