Crontab คืออะไร ?

Crontab คืออะไร ?

คำสั่ง Crontab เป็นคำสั่งในการทำ Schedule ในการสั่งโปรแกรม หรือ Script ต่าง ๆ ทำงานตามเวลาที่กำหนด บนระบบ Unix/Linux ซึ่งอำนวย
ความสะดวกได้มากที่เดียว งานบางอย่างที่จำเป็นต้องทำซ้ำ ๆ ในเวลาเดียวกันไม่ว่าจะทุกวัน ทุกสัปดาห์ หรือทุกเดือน เช่นสั่งให้ clear log ของ Squid
ทุกเที่ยงคืนของวันอาทิตย์

คำสั่งและ option ของ crontab มีดังนี้
Code: 

#crontab filename         การนำเอาคำสั่ง crontab เข้ามาจาก ไฟล์อื่น
#crontab -e                   แก้ไข crontab ปัจจุบัน (ส่วนมากผมจะเพิ่มคำสั่งลงไปในนี้เลย)
#crontab -l                    ดูคำสั่ง crontab ทั้งหมดที่มีอยู่
#crontab -r                    ลบคำสั่ง crontab ที่มีทั้งหมด
#crontab -u user           เป็นคำสั่งของผู้ดูแลระบบเท่านั้น เพื่อใช้ดู แก้ไข ลบ crontab ของ user แต่ละคน

เมื่อเรีกคำสั่งตามข้างบนแล้ว crontab จะเข้าสู่ระบบการ กำหนด หรือแก้ไข ซึ่งการกำหนด หรือแก้ไขนี้จะเหมือนกับการใช้งาน vi 

Format ของคำสั่ง crontab มีทั้งหมด 6 fields ดังนี้

1 = minute
2 = hour
3 = day
4 = month
5 = weekday
6 = command

ความหมายของแต่ละ fields มีดังต่อไปนี้

minute        มีค่า 0 - 59 เวลาเป็นนาที จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงนาทีที่กำหนด

hour           มีค่า 0 - 23 เวลาเป็นชั่วโมง จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงชั่วโมงที่กำหนด

day            มีค่า 1 - 31 เวลาเป็นวัน จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงวันที่กำหนด

month        มีค่า 1 - 12 เวลาเป็นเดือน จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงเดือนที่กำหนด 

weekday   มีค่า 0 - 6 วันขะงแต่ละสัปดาห์ มีค่าดังนี้ (อาทิตย์ = 0, จันทร์ = 1, อังคาร = 2, พุธ = 3, พฤหัส = 4, ศุกร์ = 5 ,เสาร์ = 6 )

command  คำสั่ง เราสามารถกำหนดคำสั่งได้มากมาย รวมทั้ง script ต่าง ๆ ตามที่เราต้องการ

ตัวอย่าง

* ต้องการให้ clear log ของ Squid ทุกเที่ยงคืนของวันอาทิตย์ 


# crontab -e  /* เพื่อคำสั่งเข้าไป */
0 0 * * 0 /usr/local/squid/sbin/squid -k rotate    
* แล้วทำการบันทึกแล้วออกมาโดยกด Esc แล้วกด :wq



ขอบคุณแหล่งข้อมุลจาก : Phimongkon

Share this

Related Posts