Recherche de site Web

Zaloha.sh - Un script simple de synchronisation d'annuaire local pour Linux


Zaloha.sh est un petit et simple script shell utilisé pour synchroniser deux répertoires locaux : un répertoire source et un répertoire de sauvegarde. Il utilise des outils Linux/Unix standard tels que find, sort, awk, mkdir, rmdir, cp et rm pour prendre en charge ses fonctionnalités sous-jacentes.

Zaloha obtient des informations sur les répertoires et fichiers via la commande find. Les deux répertoires doivent être disponibles localement, c'est-à-dire montés sur le système de fichiers local. Il propose également une synchronisation inverse et peut éventuellement comparer les fichiers octet par octet. En outre, il demande aux utilisateurs de confirmer les actions avant qu'elles ne soient exécutées.

Dans cet article, vous apprendrez comment installer et utiliser zaloha.sh pour synchroniser deux répertoires locaux sous Linux.

Installation de Zaloha.sh sous Linux

Pour installer Zaloha.sh, vous devez cloner son référentiel Github à l'aide de l'outil de ligne de commande git, mais avant cela, vous devez installer git comme indiqué.

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

Une fois git installé, exécutez la commande suivante pour cloner le référentiel distant sur votre système, accédez au référentiel local, puis installez le script zaloha.sh dans un emplacement de votre PATH, par exemple /usr/bin et rendez-le exécutable comme indiqué.

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

Synchronisez deux répertoires locaux sous Linux à l'aide de Zaloha.sh

Maintenant que zaloha.sh est installé dans votre PATH, vous pouvez l'exécuter normalement comme n'importe quelle autre commande. Vous pouvez synchroniser deux répertoires locaux comme indiqué.

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

Après l'avoir exécuté, zaloha analysera les deux répertoires et préparera les commandes nécessaires pour synchroniser les deux répertoires.

Vous serez invité à confirmer les actions à exécuter : « Exécuter les copies répertoriées ci-dessus vers /var/www/html/admin_portal/ ? [Y/y=Oui, other=ne rien faire et abandonner] : ». Répondez oui pour continuer.

Sauvegarde sur un support USB externe/amovible

Vous pouvez également sauvegarder sur un support amovible (par exemple /media/aaronk/EXT) monté sur le système de fichiers local. Le répertoire de destination doit exister pour que la commande fonctionne, sinon vous obtiendrez le message d'erreur « Zaloha.sh : n'est pas un répertoire ».

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

Sauvegarder les modifications de la source vers le répertoire de sauvegarde

Maintenant, apportez d'autres modifications dans le répertoire source, puis exécutez à nouveau zaloha.sh pour sauvegarder les modifications sur le disque externe, comme indiqué.

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 créera les nouveaux répertoires dans le répertoire de sauvegarde et copiera tous les nouveaux fichiers de la source ainsi que ceux mis en évidence dans la capture d'écran suivante.

Synchroniser les modifications de la sauvegarde vers le répertoire source

En supposant que vous avez apporté des modifications dans le répertoire de sauvegarde aux fichiers qui existent déjà dans le répertoire source, vous pouvez faire en sorte que les modifications soient reflétées dans le répertoire source à l'aide de la fonctionnalité de synchronisation inverse, activée à l'aide de l'option --renUp.

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

Notez que tous les nouveaux fichiers ou répertoires créés dans le répertoire de sauvegarde qui n'existent pas dans le répertoire source seront également supprimés comme indiqué dans la capture d'écran suivante.

Vous pouvez dire à zaloha de suivre les liens symboliques sur le répertoire source en utilisant l'option --followSLinksS et sur le répertoire de sauvegarde en utilisant l'option --followSLinksB .

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

Pour afficher la documentation Zaloha, exécutez la commande suivante.

zaloha.sh --help

C'est tout pour le moment! Zalohah.sh est un petit et simple script de sauvegarde basé sur Bash pour synchroniser deux répertoires locaux sous Linux. Essayez-le et partagez vos réflexions avec nous via le formulaire de commentaires ci-dessous.