Website-Suche

Zaloha.sh – Ein einfaches lokales Verzeichnissynchronisierungsskript für Linux


Zaloha.sh ist ein kleines und einfaches Shell-Skript, das zum Synchronisieren zweier lokaler Verzeichnisse verwendet wird: einem Quellverzeichnis und einem Sicherungsverzeichnis. Es verwendet Standard-Linux/Unix-Tools wie find, sort, awk, mkdir, rmdir, cp und rm, um die zugrunde liegende Funktionalität zu unterstützen.

Informationen zu den Verzeichnissen und Dateien erhält Zaloha über den Befehl find. Beide Verzeichnisse müssen lokal verfügbar sein, d. h. im lokalen Dateisystem gemountet sein. Es verfügt außerdem über eine umgekehrte Synchronisierung und kann optional Dateien Byte für Byte vergleichen. Außerdem werden Benutzer aufgefordert, Aktionen zu bestätigen, bevor sie ausgeführt werden.

In diesem Artikel erfahren Sie, wie Sie zaloha.sh installieren und verwenden, um zwei lokale Verzeichnisse unter Linux zu synchronisieren.

Zaloha.sh unter Linux installieren

Um Zaloha.sh zu installieren, müssen Sie dessen Github-Repository mit dem Git-Befehlszeilentool klonen. Zuvor müssen Sie Git jedoch wie gezeigt installieren.

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

Sobald git installiert ist, führen Sie den folgenden Befehl aus, um das Remote-Repository auf Ihr System zu klonen, in das lokale Repository zu verschieben und dann das zaloha.sh-Skript an einem Speicherort in Ihrem System zu installieren PATH, z. B. /usr/bin, und machen Sie es wie gezeigt ausführbar.

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

Synchronisieren Sie zwei lokale Verzeichnisse unter Linux mit Zaloha.sh

Nachdem zaloha.sh nun in Ihrem PATH installiert ist, können Sie es wie jeden anderen Befehl normal ausführen. Sie können wie gezeigt zwei lokale Verzeichnisse synchronisieren.

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

Nach der Ausführung analysiert zaloha die beiden Verzeichnisse und bereitet die zur Synchronisierung der beiden Verzeichnisse erforderlichen Befehle vor.

Sie werden aufgefordert, die auszuführenden Aktionen zu bestätigen: „Oben aufgeführte Kopien nach /var/www/html/admin_portal ausführen? [Y/y=Ja, other=nichts tun und abbrechen]: ”. Antworten Sie mit Ja, um fortzufahren.

Sicherung auf externen/wechselbaren USB-Medien

Sie können auch auf einem Wechselmedium (z. B. /media/aaronk/EXT) sichern, das im lokalen Dateisystem bereitgestellt ist. Das Zielverzeichnis muss vorhanden sein, damit der Befehl funktioniert, andernfalls erhalten Sie die Fehlermeldung „Zaloha.sh: ist kein Verzeichnis“.

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

Backup-Änderungen von der Quelle zum Backup-Verzeichnis

Nehmen Sie nun weitere Änderungen im Quellverzeichnis vor und führen Sie dann zaloha.sh noch einmal aus, um die Änderungen wie gezeigt auf der externen Festplatte zu sichern.

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 erstellt die neuen Verzeichnisse im Sicherungsverzeichnis und kopiert alle neuen Dateien aus der Quelle sowie die im folgenden Screenshot hervorgehobenen Dateien.

Änderungen vom Backup zum Quellverzeichnis rückwärts synchronisieren

Vorausgesetzt, Sie haben im Sicherungsverzeichnis Änderungen an Dateien vorgenommen, die bereits im Quellverzeichnis vorhanden sind, können Sie mithilfe der Reverse-Synchronisierungsfunktion, die mit der Option --renUp aktiviert wird, dafür sorgen, dass die Änderungen im Quellverzeichnis widergespiegelt werden.

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

Beachten Sie, dass alle neuen Dateien oder Verzeichnisse, die im Sicherungsverzeichnis erstellt werden und im Quellverzeichnis nicht vorhanden sind, ebenfalls gelöscht werden, wie im folgenden Screenshot gezeigt.

Sie können zaloha anweisen, symbolischen Links im Quellverzeichnis mit der Option --followSLinksS und im Sicherungsverzeichnis mit der Option --followSLinksB zu folgen .

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

Um die Zaloha-Dokumentation anzuzeigen, führen Sie den folgenden Befehl aus.

zaloha.sh --help

Das ist alles für jetzt! Zalohah.sh ist ein kleines und einfaches Bash-basiertes Backup-Skript zum Synchronisieren zweier lokaler Verzeichnisse unter Linux. Probieren Sie es aus und teilen Sie uns Ihre Meinung über das unten stehende Feedback-Formular mit.