รูปแบบสั้นๆสำหรับ
Centos
วิธีที่ 1 |
วิธีที่ 2 |
nano /etc/crontab
crontab -e
พิมพ์ 0 3 * * * /sbin/reboot
/etc/rc.d/init.d/crond restart
/sbin/chkconfig crond on |
nano /etc/crontab
crontab -e
พิมพ์ 0 3 * * * /sbin/shutdown -r now
/etc/rc.d/init.d/crond restart
/sbin/chkconfig crond on |
รูปแบบสั้นๆสำหรับ
Ubuntu
วิธีที่ 1 |
วิธีที่ 2 |
crontab -e
กด เลือก 2 ถ้าใช้ nano
พิมพ์ 0 3 * * * /sbin/reboot.sh
|
crontab -e
กด เลือก 2 ถ้าใช้ nano
พิมพ์ 0 3 * * * /sbin/reboot
|
หมายเหตุ : 0 3 * * * /sbin/reboot (เราจะให้ Server Reboot ทุกวันตอนตี 3)
ที่มา http://bunyiam.com/?name=knowledge&file=readknowledge&id=2526
รายละเอียดเพื่อทำความเข้าใจ
คำสั่ง crontab เป็นคำสั่งในการทำ schedule ในการสั่งโปรแกรม หรือ script ต่างๆ ทำงานตามเวลาที่กำหนด บนระบบ UNIX/LINUX
ซึ่งอำนวยความสะดวกได้มากเลยที่เดียว งานบางอย่างที่จำเป็นต้องทำซ้ำๆในเวลาเดียวกัน ไม่ว่าจะทุกวัน ทุกสัปดาห์ หรือ ทุกเดือน
การใช้งาน crontab
------------------------
คำสั่งและ option ของ crontab มีดังนี้
Code:
crontab filename การนำเอาคำสั่ง crontab เข้ามาจาก ไฟล์อื่น
crontab -e แก้ไข crontab ปัจจุบัน
crontab -l ดูคำสั่ง crontab ทั้งหมดที่มีอยู่
crontab -r ลบคำสั่ง crontab ที่มีทั้งหมด
crontab -u user เป็นคำสั่งของผู้ดูแลระบบเท่านั้น(administrators) เพื่อใช้ดู แก้ไข ลบ crontab ของ user แต่ล่ะคน
เมื่อเรียกคำสั่งตามข้างบนแล้ว crontab จะเข้าสู่ระบบการ กำหนด หรือ แก้ไข ซึ่งการ กำหนด หรือแก้ไขนี้ จะเหมือนกับการใช้งาน vi ครับ
การกำหนดให้ crontab ทำงาน
-------------------------------------
format ของคำสั่ง crontab มีทั้งหมด 6 fields เป็นดังบรรทัดข้างล่าง
Code:
minute(s) hour(s) day(s) month(s) weekday(s) command(s)
fields 1-5 เป็นการกำหนดเวลา และ field ที่ 6 เป็นการกำหนดคำสั่ง ดังความหมายของแต่ละ fields ดังต่อไปนี้
Code:
........................................................................................................................................
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 12 * * * /etc/python.py
จากคำสั่งด้านบนจะเป็นการสั่งให้รัน script python.py ตอน 12:00 น. ของทุกๆวัน
Code:
0 12 * * 1 /root/wifilogs.py
จากคำสั่งด้านบน จะทำการ Run script getlogs.pl ที่ path /home/tuxzilla ทุกวันจันทร์ ทุกๆเดือน ตอนเที่ยง
Code:
0 0 * * 1,2 / root/wifilogs.py
คำ
สั่งนี้เหมือนคำสั่งด้านบนครับ แต่จะเพิ่มการทำงานในวันอังคารด้วย
ซึ่งเราสามารถใช้ "," คั่นไปเรื่อยๆได้ เพื่อที่จะกำหนดเพิ่มให้แต่ล่ะ
fields หรือใช้ "*"
เพื่อการกำหนดเป็นทั้งหมด(หมายความว่า หากที่ field ชั่วโมง เป็น * ก็หมายความว่าต้องทำงานทุกชั่วโมง)
ถึง
จะมีหลาย user ในเครื่องเดียวกันแต่ยังไง crontab
ก้ยังเป็นของใครของมันไม่กวนกันครับ และไม่สามารถดูของกันและกันได้
นอกจากเป็น ผู้ดูแลระบบครับ ถึงตรงนี้แล้วก็คงไม่มีอะไรยากเกินกว่าแล้ว
หากแต่ความสะดวกเท่านั้นที่จะมาแทนที หรือใครจะเอามาเป็นนาฬิกา
อย่างผมก็ไม่ว่าครับ
ที่มา http://sabaylinux.blogspot.com/2009/07/crontab.html