การใช้งาน crontab

หลายๆคนน่าจะมีบ้างที่มีความจำเป็นที่จะต้องตั้งเวลาให้เครื่องของเราทำงานบางอย่างให้โดยอัตโนมัติ ในเวลาที่เราต้องการ เช่น ทุกๆวันเวลาเที่ยงคืนเราต้องการให้มีการสั่งรัน script เพื่อ backup ข้อมูล ไอ้ครั้นจะมานั่งรอเวลาให้ถึงเที่ยงคืนแล้วก็มานั่งสั่งรัน script ด้วยตัวเองมันก็ออกจะเกินไปหน่อย ถ้าจะให้ดีพอถึงเวลาเที่ยงคืน ระบบมันก็ควรจะ backup ให้เองโดยอัตโนมัติเลยดิฟะ ซึ่งถ้าอยากจะให้เป็นเช่นนั้นก็ไม่ยากเพราะ linux มีเครื่องมือที่จะช่วยแก้ปัญหาในเรื่องนี้มาให้ อยู่แล้วในตัวไม่ต้องลงอะไรเพิ่ม นั่นก็คือ crontab น่ะเองครับ
วิธีการใช้งาน crontab ครับ

step 1: เข้า terminal แล้วก็พิมพ์ crontab -e เพื่อสร้าง crontab ที่จะใช้งาน โดยครั้งแรกที่เรียก crontab ขึ้นมาจะเห็นเป็นไฟล์เปล่าๆ มีแค่ comment บอกรูปแบบการเขียน crontab คร่าวๆดังนี้

 
#   m   h   dom   mon   dow   command
 
*** อธิบายเพิ่มเติมครับ ***
...................................................................................................................................................................................................
Field                                        มีค่า                                        รายละเอียด
...................................................................................................................................................................................................
m(minute)                    0-59 เวลาเป็นนาที               จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
h(hour)                         0-23 เวลาเป็นชั่วโมง            จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
dom(day of month)       1-31 เวลาเป็นวัน                 จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
mon(month)                 1-12 เวลาเป็นเดือน              จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
dow(day of week)          0-6 วันของแต่ละสัปดาห์        มีค่าดังนี้(อาทิตย์=0,จันทร์=1,...,เสาร์=6)
command                     คำสั่ง                                  เราสามารถกำหนดคำสั่งหรือ script ที่ต้องการรันลงไปได้ ...................................................................................................................................................................................................
 
step 2: เขียนคำสั่งลงไป เช่น
 
# m   h   dom   mon   dow    command
 
   
0    0      *          *       *        /home/rooney/backup.sh

เป็นการสั่งให้รัน backup script เวลา 24.00 น. ของทุกวัน โดยเครื่องหมาย * หมายถึงเอาทั้งหมด อย่างกรณีข้างต้น เครื่องหมาย * ตรง dom หมายถึงทำทุกๆวันของเดือน

 
step 3: หลังจากสร้าง crontab เสร็จก็ save ซะครับ แต่ถ้าอยากจะแก้ไขก็ให้พิมพ์ crontab -e อีกครั้งเพื่อเรียก file ขึ้นมาแก้ หรือถ้าต้องการจะเรียกดูว่าเราได้มีการสร้าง crontab อะไรไปแล้วบ้างให้พิมพ์ crontab -l เพื่อให้ระบบมันลิสต์crontab ทั้งหมดที่ได้สร้างไว้โดย user คนนี้ขึ้นมาให้ดู แต่ถ้าเกิดอยากจะลบ crontab ของ user นี้ทิ้งก็ให้พิมพ์ crontab -r เพื่อ remove ครับ