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

Zaloha.sh - สคริปต์ Local Directory Synchronizer อย่างง่ายสำหรับ Linux


Zaloha.sh เป็นเชลล์สคริปต์ขนาดเล็กและเรียบง่ายที่ใช้ในการซิงโครไนซ์ไดเร็กทอรีในเครื่องสองไดเร็กทอรี: ไดเร็กทอรีต้นทางและไดเร็กทอรีสำรอง ใช้เครื่องมือมาตรฐาน Linux/Unix เช่น find, sort, awk, mkdir, rmdir, cp และ rm เพื่อรองรับการทำงานพื้นฐาน

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

ในบทความนี้ คุณจะได้เรียนรู้วิธีการติดตั้งและใช้ zaloha.sh เพื่อซิงโครไนซ์ไดเรกทอรีภายในเครื่องสองรายการใน Linux

การติดตั้ง Zaloha.sh ใน Linux

หากต้องการติดตั้ง Zaloha.sh คุณต้องโคลนพื้นที่เก็บข้อมูล Github โดยใช้เครื่องมือบรรทัดคำสั่ง git แต่ก่อนหน้านั้น คุณจะต้องติดตั้ง git ตามที่แสดง

dnf  install git		# CentOS/RHEL 8/Fedora 22+
yum install git		# CentOS/RHEL 7/Fedora
sudo apt install git		# Ubuntu/Debian

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

git clone https://github.com/Fitus/Zaloha.sh.git
cd Zaloha.sh/
echo $PATH
sudo cp Zaloha.sh /usr/bin/zaloha.sh
sudo chmod +x /usr/bin/zaloha.sh

ซิงโครไนซ์สองไดเร็กทอรีท้องถิ่นใน Linux โดยใช้ Zaloha.sh

เมื่อติดตั้ง zaloha.sh ใน PATH ของคุณแล้ว คุณสามารถเรียกใช้ได้ตามปกติเหมือนกับคำสั่งอื่นๆ คุณสามารถซิงโครไนซ์ไดเร็กทอรีในเครื่องสองไดเร็กทอรีดังที่แสดง

sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

หลังจากรันแล้ว zaloha จะวิเคราะห์ทั้งสองไดเร็กทอรีและเตรียมคำสั่งที่จำเป็นในการซิงโครไนซ์ไดเร็กทอรีทั้งสอง

คุณจะได้รับแจ้งให้ยืนยันการดำเนินการที่จะดำเนินการ: “ดำเนินการสำเนาที่ระบุไว้ข้างต้นไปยัง /var/www/html/admin_portal/? [Y/y=ใช่, other=ไม่ทำอะไรเลย และยกเลิก]: ” ตอบ ใช่ เพื่อดำเนินการต่อ

สำรองข้อมูลไปยังสื่อ USB ภายนอก/แบบถอดได้

คุณยังสามารถสำรองข้อมูลไปยังสื่อแบบถอดได้ (เช่น /media/aaronk/EXT) ที่ติดตั้งในระบบไฟล์ในเครื่อง ต้องมีไดเร็กทอรีปลายทางเพื่อให้คำสั่งทำงานได้ มิฉะนั้น คุณจะได้รับข้อความแสดงข้อผิดพลาด “Zaloha.sh: ไม่ใช่ไดเร็กทอรี

sudo mkdir /media/aaronk/EXT/admin_portal
sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

การเปลี่ยนแปลงการสำรองข้อมูลจากแหล่งที่มาไปยังไดเร็กทอรีสำรอง

ตอนนี้ทำการเปลี่ยนแปลงเพิ่มเติมในไดเร็กทอรีต้นทาง จากนั้นรัน zaloha.sh อีกครั้งเพื่อสำรองการเปลี่ยนแปลงในดิสก์ภายนอกดังที่แสดง

mkdir /home/aaronk/admin_portal/plugins
mkdir /home/aaronk/admin_portal/images
sudo zaloha.sh --sourceDir="/home/aaronk/admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Zaloha.sh จะสร้างไดเร็กทอรีใหม่ในไดเร็กทอรีสำรองและคัดลอกไฟล์ใหม่จากแหล่งที่มารวมทั้งไฮไลต์ไว้ในภาพหน้าจอต่อไปนี้

ย้อนกลับประสานการเปลี่ยนแปลงจากการสำรองข้อมูลไปยังไดเรกทอรีต้นทาง

สมมติว่าคุณได้ทำการเปลี่ยนแปลงในไดเร็กทอรีสำรองไปยังไฟล์ที่มีอยู่แล้วในไดเร็กทอรีต้นทาง คุณสามารถทำให้การเปลี่ยนแปลงมีผลในไดเร็กทอรีต้นทางได้โดยใช้คุณลักษณะการซิงค์แบบย้อนกลับ ซึ่งเปิดใช้งานโดยใช้ตัวเลือก --renUp

zaloha.sh --revUp --sourceDir="/home/aaronk/admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

โปรดทราบว่าไฟล์หรือไดเร็กทอรีใหม่ใด ๆ ที่สร้างขึ้นในไดเร็กทอรีสำรองที่ไม่มีอยู่ในไดเร็กทอรีต้นทางจะถูกลบตามที่ระบุไว้ในภาพหน้าจอต่อไปนี้

คุณสามารถบอกให้ zaloha ติดตามลิงก์สัญลักษณ์ในไดเรกทอรีต้นทางได้โดยใช้ตัวเลือก --followSLinksS และในไดเรกทอรีสำรองโดยใช้ตัวเลือก --followSLinksB .

sudo zaloha.sh --followSLinksS  --followSLinksB --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

หากต้องการดูเอกสารประกอบของ Zaloha ให้รันคำสั่งต่อไปนี้

zaloha.sh --help

นั่นคือทั้งหมดที่สำหรับตอนนี้! Zalohah.sh เป็น สคริปต์สำรองข้อมูลขนาดเล็กและเรียบง่ายที่ใช้ Bash เพื่อซิงโครไนซ์ไดเร็กทอรีภายในเครื่องสองรายการใน Linux ทดลองใช้และแบ่งปันความคิดของคุณกับเราผ่านแบบฟอร์มคำติชมด้านล่าง