ค้นหาเว็บไซต์

วิธีการสำรองข้อมูลไฟล์อัตโนมัติไปยังสื่อ USB เมื่อเชื่อมต่อ


การสำรองข้อมูลเป็นการป้องกันข้อมูลสูญหายครั้งสุดท้าย โดยเสนอวิธีการในการกู้คืนข้อมูลต้นฉบับ คุณสามารถใช้สื่อแบบถอดได้ เช่น ฮาร์ดไดรฟ์ภายนอกหรือ USB แฟลชดิสก์ หรือโฟลเดอร์เครือข่ายที่ใช้ร่วมกัน หรือโฮสต์ระยะไกลเพื่อสำรองข้อมูลของคุณ เป็นเรื่องง่ายมาก (และจำเป็นพอๆ กัน) ในการสำรองข้อมูลไฟล์สำคัญของคุณโดยอัตโนมัติโดยที่คุณไม่ต้องจำสำรองข้อมูล

อ่านเพิ่มเติม: 24 เครื่องมือสำรองข้อมูลที่โดดเด่นสำหรับระบบ Linux ในปี 2018

ในบทความนี้ เราจะเรียนรู้วิธีการสำรองข้อมูลอัตโนมัติไปยังสื่อแบบถอดได้หลังจากเชื่อมต่อกับเครื่อง Linux ของคุณ เราจะทดสอบกับดิสก์ภายนอก นี่คือคำแนะนำพื้นฐานในการเริ่มต้นใช้งาน udev สำหรับโซลูชันในชีวิตจริง

เพื่อวัตถุประสงค์ของบทความนี้ เราจำเป็นต้องมีระบบ Linux ที่ทันสมัย พร้อมด้วย:

  1. systemd ผู้จัดการระบบและบริการ
  2. ตัวจัดการอุปกรณ์ udev
  3. เครื่องมือสำรองข้อมูล rsync

วิธีการกำหนดค่ากฎ Udev สำหรับสื่อแบบถอดได้

Udev เป็นตัวจัดการอุปกรณ์ที่ช่วยให้คุณสามารถกำหนดกฎที่สามารถเรียกการทำงานของโปรแกรมหรือสคริปต์เมื่อมีการเพิ่มหรือลบอุปกรณ์ออกจากระบบที่ทำงานอยู่ โดยเป็นส่วนหนึ่งของการจัดการเหตุการณ์ของอุปกรณ์ . เราสามารถใช้คุณสมบัตินี้เพื่อรันสคริปต์สำรองข้อมูลหลังจากเพิ่มสื่อแบบถอดได้ลงในระบบที่รันอยู่

ก่อนที่เราจะกำหนดค่ากฎจริงสำหรับการจัดการเหตุการณ์ของอุปกรณ์ เราจำเป็นต้องจัดเตรียมคุณลักษณะบางอย่างของสื่อแบบถอดได้ udev ที่จะใช้สำหรับการสำรองข้อมูล เชื่อมต่อดิสก์ภายนอกกับระบบที่รันอยู่ และรันคำสั่ง lsusb ต่อไปนี้เพื่อระบุผู้จำหน่ายและ ID ผลิตภัณฑ์

เพื่อวัตถุประสงค์ในการทดสอบ เราจะใช้ฮาร์ดดิสก์ภายนอก 1TB ดังที่แสดง

lsusb

จากผลลัพธ์ของคำสั่งข้างต้น ID ผู้จำหน่ายอุปกรณ์ของเราคือ 125f ซึ่งเราจะระบุในกฎ udev ตามที่อธิบายด้านล่าง

ขั้นแรก ให้ลบสื่อที่เชื่อมต่อออกจากระบบและสร้างไฟล์กฎ udev ใหม่ชื่อ 10.autobackup.rules ใต้ไดเร็กทอรี /etc/udev/rules.d/

10 ในชื่อไฟล์ระบุลำดับการดำเนินการของกฎ ลำดับการแยกวิเคราะห์กฎเป็นสิ่งสำคัญ คุณควรสร้างกฎที่กำหนดเองเพื่อแยกวิเคราะห์ก่อนค่าเริ่มต้นเสมอ

sudo vim /etc/udev/rules.d/10.autobackup.rules

จากนั้นเพิ่มกฎต่อไปนี้เข้าไป:

SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/autobackup.sh"

มาอธิบายกฎข้างต้นโดยย่อ:

  • "==": เป็นตัวดำเนินการเปรียบเทียบเพื่อความเท่าเทียมกัน
  • "+=": เป็นตัวดำเนินการเพื่อเพิ่มค่าให้กับคีย์ที่เก็บรายการรายการ
  • ระบบย่อย: จับคู่ระบบย่อยของอุปกรณ์เหตุการณ์
  • ACTION: ตรงกับชื่อของการทำงานของเหตุการณ์
  • ATTRS{idVendor}: จับคู่ค่าแอตทริบิวต์ sysfs ของอุปกรณ์เหตุการณ์ ซึ่งเป็น ID ผู้จำหน่ายอุปกรณ์
  • RUN: ระบุโปรแกรมหรือสคริปต์เพื่อดำเนินการเป็นส่วนหนึ่งของการจัดการเหตุการณ์

บันทึกไฟล์และปิด

สร้างสคริปต์การสำรองข้อมูลอัตโนมัติ

ตอนนี้สร้างสคริปต์การสำรองข้อมูลอัตโนมัติที่จะสำรองไฟล์อัตโนมัติไปยัง USB แบบถอดได้เมื่อเชื่อมต่อกับระบบ

sudo vim /bin/autobackup.sh 

ตอนนี้คัดลอกและวางสคริปต์ต่อไปนี้ ตรวจสอบให้แน่ใจว่าได้แทนที่ค่าของ BACKUP_SOURCE, BACKUP_DEVICE, และ MOUNT_POINT ในสคริปต์

#!/usr/bin/bash
BACKUP_SOURCE="/home/admin/important"
BACKUP_DEVICE="/dev/external1"
MOUNT_POINT="/mnt/external"


#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then 
	/bin/mkdir  “$MOUNT_POINT”; 
fi

/bin/mount  -t  auto  “$BACKUP_DEVICE”  “$MOUNT_POINT”

#run a differential backup of files
/usr/bin/rsync -auz "$MOUNT_POINT" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit

จากนั้นทำให้สคริปต์ปฏิบัติการได้ด้วยคำสั่งต่อไปนี้

sudo chmod +x /bin/autobackup.sh

ถัดไป โหลดกฎ udev ใหม่โดยใช้คำสั่งต่อไปนี้

udevadm control --reload

ครั้งถัดไปที่คุณเชื่อมต่อฮาร์ดดิสก์ภายนอกหรืออุปกรณ์ใดก็ตามที่คุณกำหนดค่าให้กับระบบ เอกสารทั้งหมดของคุณจากตำแหน่งที่ระบุควรได้รับการสำรองข้อมูลโดยอัตโนมัติ

หมายเหตุ: ประสิทธิภาพการทำงานนี้อาจได้รับอิทธิพลจากระบบไฟล์ในสื่อแบบถอดได้และกฎ udev ที่คุณเขียน โดยเฉพาะอย่างยิ่งการจับคุณลักษณะของอุปกรณ์

สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าคู่มือ udev, mount และ rsync

man udev
man mount 
man rsync 

คุณอาจต้องการอ่านบทความที่เกี่ยวข้องกับการสำรองข้อมูล Linux ต่อไปนี้

  1. rdiff-backup – เครื่องมือสำรองข้อมูลส่วนเพิ่มระยะไกลสำหรับ Linux
  2. Tomb – การเข้ารหัสไฟล์และเครื่องมือสำรองข้อมูลส่วนบุคคลสำหรับ Linux
  3. System Tar and Restore – สคริปต์สำรองข้อมูลอเนกประสงค์สำหรับ Linux
  4. วิธีสร้างการสำรองข้อมูลที่มีประสิทธิภาพแบนด์วิธโดยใช้ Duplicity ใน Linux
  5. Rsnapshot – เครื่องมือสำรองข้อมูลภายในเครื่อง/ระยะไกลสำหรับ Linux
  6. วิธีซิงค์เว็บเซิร์ฟเวอร์/เว็บไซต์ Apache สองแห่งโดยใช้ Rsync

นั่นคือทั้งหมดที่สำหรับตอนนี้! ในบทความนี้ เราได้อธิบายวิธีการสำรองข้อมูลอัตโนมัติไปยังสื่อแบบถอดได้หลังจากเชื่อมต่อกับเครื่อง Linux ของคุณ เราต้องการรับฟังจากคุณผ่านแบบฟอร์มคำติชมด้านล่าง