Zaloha.sh - Et enkelt Local Directory Synchronizer-skript for Linux


Zaloha.sh er et lite og enkelt skallskript som brukes til mkdir, rmdir, cp og rm for å støtte dens underliggende funksjonalitet.

Zaloha henter informasjon om katalogene og filene via find-kommandoen. Begge katalogene må være tilgjengelige lokalt, dvs. montert til det lokale filsystemet. Den har også omvendt synkronisering, og kan eventuelt sammenligne filer byte for byte. Dessuten ber den brukere om å bekrefte handlinger før de utføres.

I denne artikkelen vil du lære hvordan du installerer og bruker zaloha.sh for å synkronisere to lokale kataloger i Linux.

Installerer Zaloha.sh i Linux

For å installere Zaloha.sh må du klone Github-depotet ved å bruke git-kommandolinjeverktøyet, men før det må du installere git som vist.

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

Når git er installert, kjør følgende kommando for å klone det eksterne depotet til systemet ditt, gå inn i det lokale depotet, installer deretter zaloha.sh-skriptet på et sted i PATHen din, f.eks. /usr/bin, og gjør det kjørbart som vist.

$ 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

Synkroniser to lokale kataloger i Linux ved å bruke Zaloha.sh

Nå som zaloha.sh er installert i PATH-en din, kan du kjøre den normalt som en hvilken som helst annen kommando. Du kan synkronisere to lokale kataloger som vist.

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

Etter å ha kjørt den, vil zaloha analysere de to katalogene og forberede kommandoene som er nødvendige for å synkronisere de to katalogene.

Du vil bli bedt om å bekrefte handlingene som skal utføres: \Utfør kopier på listen ovenfor til /var/www/html/admin_portal/? [Y/y=Ja, annet=gjør ingenting, og avbryt]:.» Svar ja å fortsette.

Sikkerhetskopiering til eksternt/flyttbart USB-medium

Du kan også sikkerhetskopiere til et flyttbart medium (f.eks. /media/aaronk/EXT) montert på det lokale filsystemet. Destinasjonskatalogen må eksistere for at kommandoen skal fungere, ellers vil du få feilmeldingen \Zaloha.sh: er ikke en katalog.

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

Sikkerhetskopiering Endringer fra kilde til sikkerhetskopikatalog

Gjør nå flere endringer i kildekatalogen, kjør deretter zaloha.sh en gang til for å sikkerhetskopiere endringene på den eksterne disken som vist.

$ 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 vil opprette de nye katalogene i sikkerhetskopikatalogen og kopiere eventuelle nye filer fra kilden samt uthevet i følgende skjermbilde.

Omvendt synkronisering av endringer fra sikkerhetskopi til kildekatalog

Forutsatt at du har gjort endringer i sikkerhetskopikatalogen til filer som allerede finnes i kildekatalogen, kan du få endringene til å reflektere i kildekatalogen ved å bruke funksjonen for omvendt synkronisering, aktivert ved å bruke --renUp-alternativet.

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

Merk at alle nye filer eller kataloger som er opprettet i sikkerhetskopikatalogen som ikke finnes i kildekatalogen, også vil bli slettet som angitt i følgende skjermbilde.

Du kan fortelle zaloha å følge symbolske lenker på kildekatalogen ved å bruke --followSLinksS-alternativet og på backup-katalogen ved å bruke --followSLinksB-alternativet.

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

For å se Zaloha-dokumentasjonen, kjør følgende kommando.

$ zaloha.sh --help

Det er alt for nå! Zalohah.sh er et lite og enkelt Bash-basert sikkerhetskopieringsskript for å synkronisere to lokale kataloger i Linux. Prøv det og del tankene dine med oss via tilbakemeldingsskjemaet nedenfor.