Zaloha.sh - Een eenvoudig script voor lokale adreslijstsynchronisatie voor Linux


Zaloha.sh is een klein en eenvoudig shell-script dat wordt gebruikt om twee lokale mappen te synchroniseren: een bronmap en een back-upmap. Het gebruikt 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 de opdracht find. Beide mappen moeten lokaal beschikbaar zijn, d.w.z. gekoppeld aan het lokale bestandssysteem. Het beschikt ook over omgekeerde synchronisatie en kan optioneel bestanden byte voor byte vergelijken. Bovendien vraagt u200bu200bhet gebruikers om acties te bevestigen voordat ze worden uitgevoerd.

In dit artikel leert u hoe u zaloha.sh kunt installeren en gebruiken 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 de git command-line tool, maar daarvoor moet je git installeren zoals getoond.

# 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 het volgende commando uit om de remote repository naar je systeem te klonen, naar de lokale repository te gaan, en dan het zaloha.sh script op een locatie in je PATH te installeren, bijvoorbeeld/usr/bin, en het uitvoerbaar te maken zoals getoond.

$ 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 zoals 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 draaien zal zaloha de twee mappen analyseren en de commando's voorbereiden die nodig zijn om de twee mappen te synchroniseren.

U wordt gevraagd om de uit te voeren acties te bevestigen: “Voer bovenstaande kopieën uit naar/var/www/html/admin_portal /? [Y/y u003d Ja, anders u003d 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 verwijderbare media (bijv./Media/aaronk/EXT) die aan het lokale bestandssysteem is gekoppeld. De bestemmingsmap moet bestaan u200bu200bom het commando te laten werken, anders krijg je 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-up Wijzigingen van bron- naar back-updirectory

Breng nu meer wijzigingen aan in de bronmap en voer dan zaloha.sh nogmaals uit om een u200bu200bback-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 maakt de nieuwe mappen aan in de back-upmap en kopieert alle nieuwe bestanden van de bron, zoals aangegeven in de volgende schermafbeelding.

Wijzigingen van back-up naar brondirectory omgekeerd synchroniseren

Ervan uitgaande dat u wijzigingen hebt aangebracht in de back-upmap in bestanden die al in de bronmap aanwezig zijn, kunt u de wijzigingen doorvoeren in de bronmap 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"

Merk op dat alle nieuwe bestanden of mappen die in de back-upmap zijn gemaakt en die niet in de brondirectory staan, ook worden verwijderd zoals aangegeven in de volgende schermafbeelding.

Je kunt zaloha vertellen om symbolische links te volgen in de brondirectory met de optie --followSLinksS en in de back-updirectory met de optie --followSLinksB .

$ 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 onderstaand feedbackformulier.