เคยเจอปัญหาเหล่านี้เหมือนผมไหมครับเวลาทำเว็บหรือระบบต่างๆ
จะส่งเมลเตือนลูกค้าว่ากำลังจะหมดอายุได้ยังไง
จะ BackUP Database อัตโนมัติได้ยังไง
หรือ พูดง่ายๆก็คือจะทำระบบอัติโนมัติที่ไม่ต้องมีการกระตุ้นจากการถูกกระทำ ได้อย่างไร
คำตอบเหล่านี้คือการใช้ Cronjob ครับ
ซึ่งก่อนเราจะรู้จักมันเราต้องรู้จักเจ้า Corntab ซะก่อน
[hide=3]
Crontab คือการสั่งให้ สิ่งที่เราต้องการ ทำงานอัตโนมัติในพื้นหลังเป็นช่วงเวลาสม่ำเสมอโดย โดยแต่ละงานที่เราได้ทำการสั่งไว้จะเรียกว่า Cronjob เช่น ตั้งเวลา Crontab ให้ทำการ backup File, DB เป็นต้น
Code:
Crontab Commands
crontab -e แก้ไขแฟ้ม crontab ของคุณ หรือสร้างสิ่งถ้ามันไม่มีอยู่แล้ว
crontab -l แสดงแฟ้ม crontab ของคุณ
crontab -r ย้ายแฟ้ม crontab ของคุณ
Crontab syntax
crontab จะมี 5 ส่วนพื้นที่จะเป็นเวลาวันที่เจาะจงและวันที่และเวลาที่ปฏิบัติตามโดยคำสั่งวิ่งที่ช่วงเวลานั้นเราสามารถตั้งได้เอง
Code:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
มาเริ่มเขียนกันเลยดีกว่าครับ
1.ให้ทำการเขียน shell สร้างไฟล์ขึ้นมาเพื่อกำหนดให้ crontab ทำงานในตัวอย่างจะใช้ชื่อว่า 0.backup_web_gootum ให้เก็บไฟล์ไวภายใต้ /usr/ ตัวอย่างที่ผมใช้งานผมจะเก็บไว้ที่ /usr/local/admtools/
2.เขียนคำสั่งในไฟล์ 0.backup_web_gootum ดังนี้
[code]#!/bin/sh