วิธีการสำรองข้อมูลไฟล์อัตโนมัติไปยังสื่อ USB เมื่อเชื่อมต่อ
การสำรองข้อมูลเป็นการป้องกันข้อมูลสูญหายครั้งสุดท้าย โดยเสนอวิธีการในการกู้คืนข้อมูลต้นฉบับ คุณสามารถใช้สื่อแบบถอดได้ เช่น ฮาร์ดไดรฟ์ภายนอกหรือ USB แฟลชดิสก์ หรือโฟลเดอร์เครือข่ายที่ใช้ร่วมกัน หรือโฮสต์ระยะไกลเพื่อสำรองข้อมูลของคุณ เป็นเรื่องง่ายมาก (และจำเป็นพอๆ กัน) ในการสำรองข้อมูลไฟล์สำคัญของคุณโดยอัตโนมัติโดยที่คุณไม่ต้องจำสำรองข้อมูล
อ่านเพิ่มเติม: 24 เครื่องมือสำรองข้อมูลที่โดดเด่นสำหรับระบบ Linux ในปี 2018
ในบทความนี้ เราจะเรียนรู้วิธีการสำรองข้อมูลอัตโนมัติไปยังสื่อแบบถอดได้หลังจากเชื่อมต่อกับเครื่อง Linux ของคุณ เราจะทดสอบกับดิสก์ภายนอก นี่คือคำแนะนำพื้นฐานในการเริ่มต้นใช้งาน udev สำหรับโซลูชันในชีวิตจริง
เพื่อวัตถุประสงค์ของบทความนี้ เราจำเป็นต้องมีระบบ Linux ที่ทันสมัย พร้อมด้วย:
- systemd ผู้จัดการระบบและบริการ
- ตัวจัดการอุปกรณ์ udev
- เครื่องมือสำรองข้อมูล 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 ต่อไปนี้
- rdiff-backup – เครื่องมือสำรองข้อมูลส่วนเพิ่มระยะไกลสำหรับ Linux
- Tomb – การเข้ารหัสไฟล์และเครื่องมือสำรองข้อมูลส่วนบุคคลสำหรับ Linux
- System Tar and Restore – สคริปต์สำรองข้อมูลอเนกประสงค์สำหรับ Linux
- วิธีสร้างการสำรองข้อมูลที่มีประสิทธิภาพแบนด์วิธโดยใช้ Duplicity ใน Linux
- Rsnapshot – เครื่องมือสำรองข้อมูลภายในเครื่อง/ระยะไกลสำหรับ Linux
- วิธีซิงค์เว็บเซิร์ฟเวอร์/เว็บไซต์ Apache สองแห่งโดยใช้ Rsync
นั่นคือทั้งหมดที่สำหรับตอนนี้! ในบทความนี้ เราได้อธิบายวิธีการสำรองข้อมูลอัตโนมัติไปยังสื่อแบบถอดได้หลังจากเชื่อมต่อกับเครื่อง Linux ของคุณ เราต้องการรับฟังจากคุณผ่านแบบฟอร์มคำติชมด้านล่าง