ชื่อ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
01, มิถุนายน 2024, 06:29:49 am
หน้าแรก ช่วยเหลือ ค้นหา ปฏิทิน เข้าสู่ระบบ สมัครสมาชิก
ข่าว: :: ต้องการประชาสัมพันธ์สินค้าติดต่อ boransat@gmail.com ::

dvb

+  บอร์ดโบราณ ดาวเทียม - HD player - CCTV
|-+  อุปกรณ์เครื่องรับดาวเทียมทีวีดิจิตอล
| |-+  เครื่องรับระบบ Hi Definition PVR
| | |-+  crontab กับการ restart cam
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้ « หน้าที่แล้ว ต่อไป »
หน้า: [1] ลงล่าง พิมพ์
ผู้เขียน หัวข้อ: crontab กับการ restart cam  (อ่าน 3907 ครั้ง)
Chaba_Dream
บุคคลทั่วไป


อีเมล์
« เมื่อ: 29, พฤศจิกายน 2009, 08:06:23 pm »

crontab บน Linux
crontab บน Linux
====================
   คำสั่ง 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 ครับ
ถ้าใครเคยใช้งาน vi แล้วก็จะไม่มีปัญหาอะไร ถ้าไม่เคยใช้ ก็ดูคำสั่งพื้นฐานของ vi ด้านล่างนะครับ
เมื่อเรียกโปรแกรม crontab ให้ทำงานและขณะอยู่ในโปรแกรม เราสามารถกดคีย์ ดังต่อไปนี้เพื่อ
Code:

    Esc       เพื่อออกมาสู่โหมดปกติ
    i           เพื่อการเพิ่ม คำสั่ง ข้อความ เข้าไปใหม่
    x          ลบ ตัวอักษรที่ cursor  วางอยู่ ทีละอักษร ในโหมดปกติ
    dd        ลบบรรทัด ทั้งบรรทัด ที่ cursor วางอยู่ทีละแถว ในโหมดปกติ
   :q!        ออกโดยไม่ต้องแก้ไขอะไร
   :wq!      เก็บบันทึกข้อความที่แก้ไขแล้วออกจากโปรแกรม
 คำสั่งเหล่านี้เป็นแค่บางส่วนเท่านั้น แต่ก็พอใช้งานคำสั่ง crontab แล้วล่ะครับ ถ้าใครอยากได้มากกว่านี้ต้องศึกษาเพิ่มเอาอีกที

การกำหนดให้ 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 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 ก้ยังเป็นของใครของมันไม่กวนกันครับ และไม่สามารถดูของกันและกันได้ นอกจากเป็น
ผู้ดูแลระบบครับ ถึงตรงนี้แล้วก็คงไม่มีอะไรยากเกินกว่าแล้ว หากแต่ความสะดวกเท่านั้นที่จะมาแทนที หรือใครจะเอามาเป็นนาฬิกา อย่างผมก็ไม่ว่าครับ 

คำสั่งเพิ่มเติมที่ควรรู้
------------------------
man crontab
man cron
man at
man batch[/u]

แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
หน้า: [1] ขึ้นบน พิมพ์ 
« หน้าที่แล้ว ต่อไป »
กระโดดไป:  
 
ติด Banner ด้านล่างติดต่อ boransat@gmail.com
กระทู้ ความคิดเห็น บทความ ข้อความใด ๆที่ได้อ่านในบอรดนี้ เกิดจากการเขียนโดยสาธารณชน และตีพิมพ์แบบอัตโนมัติ ผู้ดูแล ไม่จำเป็นต้องเห็นด้วยและ ไม่รับผิดชอบต่อข้อความใดๆ ผู้อ่านจึงควรใช้วิจารณญาณในการกลั่นกรองด้วยตัวเอง และถ้าพบเห็นข้อความใดๆ ที่ขัดต่อกฎหมาย ศิลธรรม กรุณาแจ้งมาที่ boransat@gmail.com เพื่อที่ทีมงานจะได้ดำเนินการต่อไป



เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.018 วินาที กับ 16 คำสั่ง