การเขียน crontab บน Linux Redhat

Post by ไม่พบข้อมูลของท่าน on 2010-04-26 11:36:22, Last Modify : 0000-00-00 00:00:00
Filed under RedHat , CentOS , Fedora | Reads : 148

Cron เป็นการสั่งคำสั่งเพื่อให้ server ของเรานั้นทำงานโดยอัตโนมัติตามเวลาที่เราเขียนไฟล์ตั้งเวลาไว้ หรือพูดง่าย ๆ ว่าเป็นการรันสคริปต์ตามเวลาที่เราตั้งไว้นั่นเอง ซึ่งส่วนใหญ่จะเป็นงานซ้ำ ๆ ที่ต้องสั่งเหมือนกัน ทุก ๆ วัน หรือทุก ๆ สัปดาห์  cron ก็จะมาช่วยอำนวยความสะดวกให้เราได้

ซึ่งถ้าเราต้องการตั้งเวลาทำงานอัตโนมัตินั้น เราจะไประบุได้ที่ไฟล์ /etc/crontab ซึ่งจะเป็นไฟล์ที่เก็บคำสั่งและเวลาที่ต้องการให้คำสั่งทำงาน ซึ่งจะเป็นรูปแบบ

* * * * *   <user>    <command>

ซึ่งตัว * แต่ละหลักจะมีความหมายดังนี้

  1. นาที ( 0-59 )
  2. ชั่วโมง ( 0-23 )
  3. วันในรอบเดือน ( 1-31 )
  4. เดือน (1-12)
  5. วันในสัปดาห์ (0-6   Sunday =0 )

ซึ่งถ้าหลักใหนใช้เป็น * จะแปลว่าไม่สนใจในหลักนั้น

ตัวอย่าง เช่น

ถ้าต้องการรันคำสั่งทุก ๆ วันจันทร์ เวลา 02.30 จะตั้งเป็น
30 02 * * 1   root  tar zcvf /var/log/messege

ต้องการรันคำสั่งทุก ๆ วันที่ 12 ของเดือน เวลา 12.12 จะตั้งเป็น
12 12 12 * *   root   tar jcvf  /home