Unix Crontab Commands for Ubuntu
ช่วงนี้โดนก่อกวนจากผู้หวังดี hacker มันแวะมาหาผมบ่อยเหลือเกินครับ ก็เลยมานั่งเขียน Crontab ทำการ backup ไว้ก่อนดีกว่าครับปกติก็ backup ไว้อยู่ครับแต่ว่า backup ทั้ง /var/www มันจะมีปัญหาตอนแตกไฟล์ที่มานั่งรอนานคราวนี้ก็เลย backup เว็บเดียวดีกว่าเพราะว่าเว็บอื่นๆมันไม่สนใจมันสนใจแต่เว็บ gootum.com ไม่รู้ชาติที่แล้วไปทำอะไรมันชาตินี้มันทำไมมายุ่งกับผมก็ไม่รู้
Crontab คือการสั่งให้มันทำงานอัตโนมัติในพื้นหลังที่ช่วงเวลาสม่ำเสมอโดย cron daemon งานเหล่านี้ที่ถูกสร้างเนื่องจากว่ามีการทำงาน cron ในยูนิกซ์บ่อยๆ Crontab (Cron เนื้อหา) คือแฟ้มสิ่งที่บรรจุตารางเวลาที่เราสร้างขึ้นของรายการที่จดไว้ cron จะทำงานที่เวลาที่เจาะจงที่เราตั้งไว้ ถ้างงก็จำสั้นๆว่า Crontab คือการสั่งให้มันทำให้อัตโนมัติโดยที่เราเขียนคำสั่งให้มันรันสคริปเองตามช่วงเวลาที่เรากำหนดให้มัน เช่น ตั้ง Crontab ให้ทำการ backup File, DB เป็นต้น
Crontab Commands
crontab -e แก้ไขแฟ้ม crontab ของคุณ หรือสร้างสิ่งถ้ามันไม่มีอยู่แล้ว crontab -l แสดงแฟ้ม crontab ของคุณ crontab -r ย้ายแฟ้ม crontab ของคุณ
Crontab syntax
crontab จะมี 5 ส่วนพื้นที่จะเป็นเวลาวันที่เจาะจงและวันที่และเวลาที่ปฏิบัติตามโดยคำสั่งวิ่งที่ช่วงเวลานั้นเราสามารถตั้งได้เอง
* * * * * 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 ดังนี้
#!/bin/sh echo "Backup Web" /bin/tar cfz /var/www/backup/web_gootum_`date "+%Y%m%d"`.tar.gz /var/www/ virtual/gootum.com/
คำอธิบายคือ ให้ทำการ copy ไฟล์ทั้งหมดที่อยู่ในภายใต้ /var/www/virtual/gootum.com/ มาไว้ที่โฟลเดอร์ /var/www/backup/
3.หลังจากได้ไฟล์แล้วให้ทำการเขียน crontab โดยเราจะสั่งให้มันทำงานให้อัตโนมัติทุกวันๆตามเวลาที่กำหนดให้พิมพ์ว่า #crontab -e
แล้วเพิ่มคำสั่งนี้เข้าไปครับ
# backup Host gootum.com 0 1 * * * /usr/local/admtools/0.backup_web_gootum 2>/dev/null
ตัวเลข 0 1 * * * ถ้างงให้กลับไปดู Crontab syntax ข้างบนนะครับถ้าจากตัวอย่างจะบอกว่า ให้ทำการ backup ตอนเวลาตี 1 ของทุกวันครับ (ต้องคอยหมั่นดูไฟล์ในเครื่องด้วยนะครับเดี๋ยวมันเต็มเพราะว่าไม่ได้เขียนให้ลบไฟล์เองครับ) หลังจากนั้นก็ทำการ save แล้วก็เป็นอันเสร็จการทำ crontab แล้วครับ อยากรู้ว่าสั่งให้ทำงานยังพิมพ์ crontab -l ดูนะครับ
ใครมี idea เจ๋งๆแนะนำด้วยนะครับอย่าเก็บไว้คนเดียว ไว้คราวหน้ามาเขียนเมื่อ backup เสร็จแล้วให้ทำการ ftp ไปฝาก host อื่นแบบอัตโนมัติให้อ่านครับ โชคดีครับพี่น้อง
Popularity: 16% [?]
Blog Related Content
Linux: Backup Your Website Automatically1 นาทีก็ติด google หน้าแรกได้install MySQL server 4.1 on Ubuntu EdgyRequest a free CD UbuntuUpgrading to Ubuntu 8.04 LTS


















2 Comments Already
Pingback & Trackback
Related Post
Please Leave Your Comments Below