Zoeken op website

Zaloha.sh - Een eenvoudig lokaal directorysynchronisatiescript voor Linux


Zaloha.sh is een klein en eenvoudig shellscript dat wordt gebruikt om twee lokale mappen te synchroniseren: een bronmap en een back-upmap. Het maakt gebruik van standaard Linux/Unix-tools zoals find, sort, awk, mkdir, rmdir, cp en rm om de onderliggende functionaliteit te ondersteunen.

Zaloha verkrijgt informatie over de mappen en bestanden via het find-commando. Beide mappen moeten lokaal beschikbaar zijn, d.w.z. aangekoppeld aan het lokale bestandssysteem. Het beschikt ook over omgekeerde synchronisatie en kan optioneel bestanden byte voor byte vergelijken. Bovendien wordt gebruikers gevraagd acties te bevestigen voordat ze worden uitgevoerd.

In dit artikel leer je hoe je zaloha.sh installeert en gebruikt om twee lokale mappen in Linux te synchroniseren.

Zaloha.sh installeren onder Linux

Om Zaloha.sh te installeren, moet je de Github-repository klonen met behulp van het git-opdrachtregelprogramma, maar daarvoor moet je git installeren zoals weergegeven.

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

Zodra git is geïnstalleerd, voer je de volgende opdracht uit om de externe repository naar je systeem te klonen, ga naar de lokale repository en installeer vervolgens het zaloha.sh-script op een locatie in je systeem PATH, bijvoorbeeld /usr/bin en maak het uitvoerbaar zoals weergegeven.

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

Synchroniseer twee lokale mappen in Linux met Zaloha.sh

Nu zaloha.sh in uw PATH is geïnstalleerd, kunt u het normaal uitvoeren, net als elk ander commando. U kunt twee lokale mappen synchroniseren, zoals weergegeven.

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

Na het uitvoeren zal zaloha de twee mappen analyseren en de commando's voorbereiden die nodig zijn om de twee mappen te synchroniseren.

U wordt gevraagd de uit te voeren acties te bevestigen: “Bovenstaande kopieën uitvoeren naar /var/www/html/admin_portal/? [Y/y=Ja, other=niets doen en afbreken]: ”. Antwoord ja om door te gaan.

Back-up naar externe/verwijderbare USB-media

U kunt ook een back-up maken op een verwijderbaar medium (bijvoorbeeld /media/aaronk/EXT) dat is gekoppeld aan het lokale bestandssysteem. De doelmap moet bestaan om de opdracht te laten werken, anders krijgt u de foutmelding “Zaloha.sh: is geen map”.

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

Back-upwijzigingen van bron naar back-upmap

Breng nu nog meer wijzigingen aan in de bronmap en voer vervolgens zaloha.sh nogmaals uit om een back-up te maken van de wijzigingen op de externe schijf, zoals weergegeven.

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 zal de nieuwe mappen in de back-upmap aanmaken en eventuele nieuwe bestanden van de bron kopiëren, zoals gemarkeerd in de volgende schermafbeelding.

Omgekeerde synchronisatie van wijzigingen van back-up naar bronmap

Ervan uitgaande dat u wijzigingen heeft aangebracht in de back-upmap van bestanden die al in de bronmap bestaan, kunt u de wijzigingen in de bronmap weerspiegelen met behulp van de functie voor omgekeerde synchronisatie, ingeschakeld met de optie --renUp.

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

Houd er rekening mee dat alle nieuwe bestanden of mappen die in de back-upmap zijn gemaakt en die niet in de bronmap bestaan, ook zullen worden verwijderd, zoals aangegeven in de volgende schermafbeelding.

Je kunt zaloha vertellen om symbolische links in de bronmap te volgen met behulp van de --followSLinksS optie en op de back-upmap met behulp van de --followSLinksB optie .

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

Voer de volgende opdracht uit om de Zaloha-documentatie te bekijken.

zaloha.sh --help

Dat is het voor nu! Zalohah.sh is een klein en eenvoudig op Bash gebaseerd back-upscript om twee lokale mappen in Linux te synchroniseren. Probeer het eens en deel uw mening met ons via het onderstaande feedbackformulier.