ทำให้ rsync backup ข้อมูลอัตโนมัติ

Posted in Linux

ในตัวอย่างนี้ผมจะเขียนคำสั่งที่ใช้สั่งให้ rsync backup ข้อมูล เป็น script แล้วใช้ crontab ทำให้มันทำงานตามเวลาที่เรา กำหนด

สร้างไฟล์ชื่อ backup.sh
nano /home/jirawat/backup.sh

พิมพ์ข้อความต่อไปในลงไปในไฟล์ backup.sh
#! /bin/sh
# file /home/jirawat/backup.sh
rsync -ax –process –update –delete /var/www/virtual/ /media/backup/var/www/virtual/

เสร็จแล้วก็บันทึกเป็นไฟล์ /home/jirawat/backup.sh

ต่อไปก็สร้างไฟล์ /etc/cron.d/backup
nano /etc/cron.d/backup

พิมพ์ข้อความต่อไปในลงไปในไฟล์ backup
* * * * * root /home/jirawat/backup.sh > /home/jirawat/backup.log

เสร็จแล้วก็บันทึกเป็นไฟล์ /etc/cron.d/backup

แล้วสั่งให้ cron reload ค่าใหม่
/etc/init.d/cron reload

รายละเีอียดเกี่ยวกับการใช้งาน crontab
crontab จะแบ่งออกเป็น 6 column ดังนี้
column 1 จะเป็นการกำหนดค่านาที (0-59)
column 2 จะเป็นการกำหนดค่าชั่วโมง (0-23)
column 3 จะเป็นการกำหนดค่าวัน (1-31)
column 4 จะเป็นการกำหนดค่าเดือน (1-12)
column 5 จะเป็นการกำหนดค่าวันในสัปดาห์ (0-6)
column 6 จะเป็นคำสั่งที่ต้องการสั่งงาน

จากตัวอย่าง
* * * * * root /home/jirawat/backup.sh > /home/jirawat/backup.log
เป็นการสั่งให้รันสคลิปต์ /home/jirawat/backup.sh ทุกๆนาที อันนี้เป็นแค่การทดสอบนะครับ ถ้าใช้งานจริงควรจะทำทุกๆวัน หรือทุกๆสัปดาห์ก็ได้ ตัวอย่างเช่น ให้ทำการสำรองข้อมูลทุกวัน เวลา ตีสาม ก็เขียนเป็น
0 3 * * * root /home/jirawat/backup.sh > /home/jirawat/backup.log

ส่วน > /home/jirawat/backup.log เป็นการเก็บผลลัพธ์ที่ได้จากการเรียกใช้คำสั่งลงในไฟล์ /home/jirawat/backup.sh

2 Responses to “ทำให้ rsync backup ข้อมูลอัตโนมัติ”

  1. สุดหล่อ Says:

    ขอแบบ backup อัตโนมัต กับวินโดว์ด้วยครับ

  2. admin Says:

    ง่ะ มาได้ไงเนี้ย ผมไม่ได้เอา blog ไปโพสต์ที่ไหนเลยนะ
    ส่วน backup บน windows คิดว่าคงใช้ scheduler ที่มีบน windows ทำครับ

Leave a Reply