การใช้งาน crontab เพื่อรัน script ตามเวลาที่กําหนด

6 Apr 2017,
Share: 

cron คืออะไร?

cron เป็น utilities ตัวหนึ่งทำงานบนระบบปฏิบัติการ linux ทําหน้าที่ช่วยจัดการให้ software ของเรารันโดยอัตโนมัติ ตาม scheduling ที่เรา config ไว้

crontab คืออะไร?

crontab เป็นไฟล์ที่เก็บตาราง scheduling และรายละเอียดต่างๆ ที่เราตั้งเวลาไว้เพื่อที่จะสั่งให้ cron ทํางานอีกทีนึง

วิธีใช้งาน crontab

การใช้งานก็ง่ายๆครับ เปิดไฟล์ “/etc/crontab” ขึ้นมาแล้วแก้ไขตามที่เราต้องการ ใช้คําสั่งนี้ได้เลยครับ

sudo nano /etc/crontab

หรือ

crontab -e

จะพบเนื้อหาไฟล์ดังนี้

Image

crontab หลังจากนั้นให้เราเพิ่มบรรทัดคําสั่งต่อท้ายเข้าไป โดยรูปแบบของบรรทัดคําสั่งคือ [นาที] [ชั่วโมง] [วัน] [เดือน] [วันในสัปดาห์] [user] [โปรแกรมที่ต้องการรัน]

  • [นาที] คือ นาที ที่จะรัน Script ค่าที่เป็นไปได้คือ 0-59 ถ้าเป็น * หมายถึงไม่สนใจตําแหน่งนี้
  • [ชั่วโมง] คือ ชั่วโมง ที่จะรัน Script ค่าที่เป็นไปได้คือ 0-23 ถ้าเป็น * หมายถึงไม่สนใจตําแหน่งนี้
  • [วัน] คือ วัน ที่จะรัน Script ค่าที่เป็นไปได้คือ 1-31 ถ้าเป็น * หมายถึงไม่สนใจตําแหน่งนี้
  • [เดือน] คือ เดือน ที่จะรัน Script ค่าที่เป็นไปได้คือ 1-12 ถ้าเป็น * หมายถึงไม่สนใจตําแหน่งนี้
  • [วันในสัปดาห์] คือ วันในสัปดาห์ ที่จะรัน Script ค่าที่เป็นไปได้คือ 0-7 ถ้าเป็น * หมายถึงไม่สนใจตําแหน่งนี้
  • [user] คือ user ที่รันคําสั่ง
  • [โปรแกรมที่ต้องการรัน] คือ โปรแกรมที่ต้องการรัน เมื่อตรงตามเวลาที่กําหนด

Image

crontab

Example1

ถ้าเราต้องการจะสั่งให้รันคําสั่ง xxx ทุกๆ 5 นาที่ เราจะต้องเขียนแบบนี้

*/5 * * * * root xxx

Example2

ถ้าเราต้องการจะสั่งให้รันคําสั่ง yyy ทุกๆ 1 ชั่วโมง เราจะต้องเขียนแบบนี้

0 * * * * root yyy

รูปตัวอย่างการแก้ไข

Image

crontab เมื่อแก้ไขไฟล์เสร็จ ก็ Save ให้เรียบร้อย แล้ว Reboot เครื่อง 1 ครั้ง เป็นอันเสร็จพิธี :)

Suggestion blogs

ติดตั้ง node.js และ npm

Imagenode.js คืออะไร?node.js คือการเขียนโปรแกรมด้วยภาษา javascript บนฝั่ง Server จริงๆแล้ว node.js จะรวม environment ต่างๆ ที่ทำขึ้นเพื่อให้เราเขียน JavaScript เอาไว้ที่ฝั่ง server node.js นั้นขึ้นชื่อในเรื่องความเร็วของการประมวลผล จึงทำให้ application ที่เขียนด้วย Node.js นั้นมีจำนวนเพิ่มขึ้นอย่างรวดเร็ว

[ภาษาซี] การรับและแสดงผลข้อมูลแบบตัวอักษร

การรับและแสดงผลแบบตัวอักษร นอกจากการใช้ printf() และ scanf() แล้ว ยังมี function เฉพาะที่ใช้ในการรับและแสดงผลข้อมูลดังนี้

CNAME Record คืออะไร

CNAME Record (Canonical Name) เป็น Config ที่อยู่ใน DNS Management เพื่อบอกว่า Subdomain นี้ ให้ชี้ไปยัง Hostname ไหน เช่นกําหนด CANME ให้ mail.aaa.com ชี้ไปที่ webmail.bbb.com เมื่อเข้าเว็บด้วย mail.aaa.com มันก็จะวิ่งไปที่ webmail.bbb.com แล้วแสดงหน้าเว็บนั้นขึ้นมาทันทีกําหนด CANME ให้ www.aaa.com ชี้ไปที่ aaa.com เมื่อเข้าเว็บด้วย www.aaa.com มันก็จะวิ่งไปที่ aaa.com แล้วแสดงหน้าเว็บนั้นขึ้นมาทันทีกําหนด CANME ให้ api.aaa.com ชี้ไปที่ ccc.com เมื่อเข้าเว็บด้วย api.aaa.com มันก็จะวิ่งไปที่ ccc.com แล้วแสดงหน้าเว็บนั้นขึ้นมาทันทีจากตัวอย่างด้านบน ทําให้เราสามารถกําหนด CNAME เพื่อชี้ไปยัง Hostname ปลายทางใดๆก็ได้ ซึ่งจะมีประโยชน์มากในกรณีที่เรามีการเปลี่ยนเปลี่ยนแปลง Hostname เราก็แค่เปลี่ยน Config CNAME ให้ชี้ไปยัง Hostname ใหม่เท่านั้น User ก็จะยังเข้าใช้งานผ่าน Subdomain เดิมได้


Copyright © 2019 - 2025 thiti.dev |  v1.58.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ