Ricerca nel sito web

Zaloha.sh - Un semplice script di sincronizzazione della directory locale per Linux


Zaloha.sh è un piccolo e semplice script di shell utilizzato per sincronizzare due directory locali: una directory di origine e una directory di backup. Utilizza strumenti Linux/Unix standard come find, sort, awk, mkdir, rmdir, cp e rm per supportare le funzionalità sottostanti.

Zaloha ottiene informazioni sulle directory e sui file tramite il comando find. Entrambe le directory devono essere disponibili localmente, ovvero montate sul file system locale. Dispone inoltre di sincronizzazione inversa e, facoltativamente, può confrontare i file byte per byte. Inoltre, chiede agli utenti di confermare le azioni prima che vengano eseguite.

In questo articolo imparerai come installare e utilizzare zaloha.sh per sincronizzare due directory locali in Linux.

Installazione di Zaloha.sh in Linux

Per installare Zaloha.sh, devi clonare il suo repository Github utilizzando lo strumento da riga di comando git, ma prima devi installare git come mostrato.

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

Una volta installato git, esegui il seguente comando per clonare il repository remoto sul tuo sistema, spostati nel repository locale, quindi installa lo script zaloha.sh in una posizione nel tuo PERCORSO ad esempio /usr/bin e renderlo eseguibile come mostrato.

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

Sincronizza due directory locali in Linux utilizzando Zaloha.sh

Ora che zaloha.sh è installato nel tuo PERCORSO, puoi eseguirlo normalmente come qualsiasi altro comando. È possibile sincronizzare due directory locali come mostrato.

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

Dopo averlo eseguito, zaloha analizzerà le due directory e preparerà i comandi necessari per sincronizzare le due directory.

Ti verrà richiesto di confermare le azioni da eseguire: “Eseguire le copie sopra elencate su /var/www/html/admin_portal/? [Y/y=Sì, other=non fare nulla e interrompere]: ". Rispondi per procedere.

Backup su supporto USB esterno/rimovibile

Puoi anche eseguire il backup su un supporto rimovibile (ad esempio /media/aaronk/EXT) montato sul file system locale. La directory di destinazione deve esistere affinché il comando funzioni, altrimenti riceverai il messaggio di errore "Zaloha.sh: non è una directory".

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

Il backup cambia dall'origine alla directory di backup

Ora apporta ulteriori modifiche nella directory di origine, quindi esegui ancora una volta zaloha.sh per eseguire il backup delle modifiche nel disco esterno come mostrato.

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 creerà le nuove directory nella directory di backup e copierà eventuali nuovi file dall'origine così come evidenziato nello screenshot seguente.

Sincronizzazione inversa delle modifiche dal backup alla directory di origine

Supponendo che tu abbia apportato modifiche nella directory di backup ai file che già esistono nella directory di origine, puoi far sì che le modifiche si riflettano nella directory di origine utilizzando la funzione di sincronizzazione inversa, abilitata utilizzando l'opzione --renUp.

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

Tieni presente che anche tutti i nuovi file o directory creati nella directory di backup che non esistono nella directory di origine verranno eliminati come indicato nello screenshot seguente.

Puoi dire a zaloha di seguire i collegamenti simbolici nella directory di origine utilizzando l'opzione --followSLinksS e nella directory di backup utilizzando l'opzione --followSLinksB .

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

Per visualizzare la documentazione di Zaloha, esegui il comando seguente.

zaloha.sh --help

È tutto per ora! Zalohah.sh è un piccolo e semplice script di backup basato su Bash per sincronizzare due directory locali in Linux. Provalo e condividi i tuoi pensieri con noi tramite il modulo di feedback qui sotto.