วันจันทร์ที่ 19 พฤศจิกายน พ.ศ. 2555

Crontab on Linux

ใช้คำสั่ง crontab -e ตั้งเวลาอัตโนมัติบน linux


มี 2 วิธี(เท่าที่ผมทราบ)
1. เขียนไปตรงๆ บน crontab -e

นาที ชั่วโมง วัน เดือน วันของสัปดาห์  mysqldump -u root -pรหัสผ่านฐานข้อมูล --all-database --lock-all-table | bzip2 -c > /home/backup/db-backup.sql.bz2 
 --------------------------------------------------------------------------------------------------------

2. เขียนบนไฟล์ .sh เช่น backup.sh
nano backup.sh

today=$(date '+%y%m%d_%H%M%S') => สร้างตัวแปรวันที่
mkdir /home/backup =>สร้างโฟลเดอร์ชื่อ backup ไว้ที่ /home
mkdir /home/backup/"$today" =>สร้างโฟลเดอร์ชื่อวัน_เวลาปัจจุบันไว้ในโฟล์เดอร์ backup
cd /home/backup/"$today" =>เข้าโฟลเดอร์  /home/backup/โฟลเดอร์ชื่อวัน_เวลาปัจจุบัน
mysqldump -u root -pรหัสผ่านฐานข้อมูล --all-database --lock-all-table | bzip2 -c > db-backup"$today".sql.bz2 =>คำสั่งสำรองฐานข้อมูล พร้อมทั้งบีบอัดไฟล์
tar czf www-backup"$today".tar.gz /var/www/ =>สำรองโฟลเดอร์ /var/www พร้อมทั้งบีบอัดไฟล์

จากนั้น
crontab -e (อย่าลืม /bin/bash ไว้หน้าคำสั่งที่เรียกใช้สคริปด้วย)
นาที ชั่วโมง วัน เดือน วันของสัปดาห์   /bin/bash /home/backup.sh

ที่มา: 
- http://www.itmanage.info/technology/linux/ubuntu/crontab/crontab_howto.html
- http://www.narisa.com/forums/index.php?app=blog&module=display&section=blog&blogid=17&showentry=467
- http://www.thaiadmin.org/board/index.php?topic=156939.new#new
- http://forum.ubuntuclub.com/forum/topic,24391.0.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น