Zaloha.sh - Ένα απλό σενάριο συγχρονισμού τοπικού καταλόγου για Linux


Το Zaloha.sh είναι ένα μικροσκοπικό και απλό σενάριο φλοιού που χρησιμοποιείται για τον συγχρονισμό δύο τοπικών καταλόγων: έναν κατάλογο προέλευσης και έναν κατάλογο αντιγράφων ασφαλείας. Χρησιμοποιεί τυπικά εργαλεία Linux/Unix όπως find, sort, awk, mkdir, rmdir, cp και rm για να υποστηρίξει την υποκείμενη λειτουργικότητά του.

Η Zaloha λαμβάνει πληροφορίες σχετικά με τους καταλόγους και τα αρχεία μέσω της εντολής εύρεσης. Και οι δύο κατάλογοι πρέπει να είναι διαθέσιμοι τοπικά, δηλαδή να είναι προσαρτημένοι στο τοπικό σύστημα αρχείων. Διαθέτει επίσης αντίστροφο συγχρονισμό και μπορεί προαιρετικά να συγκρίνει αρχεία byte προς byte. Επιπλέον, ζητά από τους χρήστες να επιβεβαιώσουν τις ενέργειες πριν εκτελεστούν.

Σε αυτό το άρθρο, θα μάθετε πώς να εγκαταστήσετε και να χρησιμοποιήσετε το 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. Δοκιμάστε το και μοιραστείτε τις σκέψεις σας μαζί μας μέσω της παρακάτω φόρμας σχολίων.