Qu'est-ce que l'unisson?
La technologie unison développée par Benjamin C Pierce sous la licence GPL permet aux utilisateurs de synchroniser deux instances de fichiers uniques sur le même système mais des disques différents ou deux autres systèmes.
Unison vous permet de conserver une version mise à jour et identique du même fichier ou du même répertoire. Il est utilisable dans une grande variété de contextes, tels que SSH, permettant un transfert sécurisé de données entre les appareils ou les répertoires.
L'outil à l'unisson est multiplateforme, permettant aux utilisateurs de synchroniser les fichiers et les répertoires entre les systèmes exécutant les mêmes systèmes d'exploitation ou différents. Par exemple, vous pouvez synchroniser des fichiers d'un système Linux vers un système BSD. En raison de ses fonctionnalités de sécurité, les fichiers et répertoires de synchronisation unison et applique les droits de propriété et d'autorisations sur les deux systèmes.
L'outil à l'unisson est développé avec la sécurité à l'esprit et peut survivre à des échecs où les interruptions se produisent entre les points de synchronisation. Si Unison détecte les conflits de fichiers et de répertoires, il signale les conflits existants et permet aux utilisateurs de sélectionner la version des fichiers devraient s'appliquer.
Unison peut travailler avec des réseaux de soudage ou de soudage, ce qui en fait un outil très efficace pour l'utilisation de la bande passante. Il synchronise uniquement les pièces et les répertoires qui ont changé, empêchant ainsi la charge intense et la mise à jour du processus de synchronisation très facilement et rapidement.
Malgré son contexte principal d'utilisation, l'unisson est un outil puissant qui peut être modifié pour créer un large éventail de cas d'utilisation.
Ce tutoriel discutera de la façon d'installer et de configurer le système de synchronisation des fichiers à l'unisson sur Debian 10.
Comment installer l'unisson sur Debian 10
Unison est un outil populaire; Pour cette raison, il est disponible dans les référentiels officiels des distributions majeures Linux.
Pour installer la version en ligne de commande d'Unsison sur Debian, commencez à mettre à jour le système:
Sudo apt-get update && sudo apt-get upgrade
Ensuite, utilisez le simple apt à commander pour installer l'outil.
sudo apt-get install unison -y
Si vous avez un environnement de bureau installé sur votre système et préférez une version GUI de l'outil, installez unison-gtk à l'aide de la commande:
sudo apt-get install unison-gtk
NOTE: Assurez-vous d'installer à l'unisson sur les deux versions des systèmes que vous souhaitez synchroniser les fichiers entre eux. Pour la compatibilité et pour minimiser les chances d'erreurs, il est préférable d'avoir la même version de l'unisson dans les deux systèmes.
Comment synchroniser les fichiers avec l'unisson
Unison nous fournit des moyens de synchroniser les fichiers et les répertoires entre les machines locales et les machines distantes à l'aide de connexions à socket direct et SSH. Puisque nous synchronisons entre deux serveurs Debian, nous sauterons la synchronisation de la machine locale.
Synchronisation à distance et à distance via SSH
Pour synchroniser les fichiers et les répertoires entre les machines distantes, vous devrez installer à l'unisson dans les deux systèmes, avoir un accès SSH aux systèmes et à leurs adresses IP.
Vous pouvez également utiliser votre machine locale comme un serveur et le périphérique distant comme l'autre serveur.
La première étape consiste à créer une clé privée et publique sur le serveur distant1.
ssh-keygen -t rsa
Génération de paires de clés RSA publiques / privées.
Entrez le fichier dans lequel enregistrer la clé (/ home / csalem /.ssh / id_rsa):
Répertoire créé '/ home / csalem /.ssh '.
Entrez en phrase de passe (vide pour aucune phrase de passe):
Entrez à nouveau la même phrase de passe:
Votre identification a été enregistrée dans / home / csalem /.ssh / id_rsa.
Votre clé publique a été enregistrée dans / home / csalem /.ssh / id_rsa.pub.
L'empreinte clés est:
Sha256: 4p5yuebea5lrinzqpgwhrvhss0tnliil70a0q2mfcs8 csalem @ debian-pc
L'image d'art aléatoire de la clé est:
+---[RSA 2048]----+
| + / @ =… |
| = * O == |
| ++ OE . |
| + * o… |
| o + = . S |
|++. o . |
| oo… o |
|.o . = . |
|… O o |
+----[SHA256]-----+
Ignorez rapidement le processus de génération de clé et enregistrez le fichier. Veuillez ne pas ajouter de phrase secrète car elle peut entraver la synchronisation non gérée entre les serveurs.
Ensuite, copiez la clé de Server1 à Server2 à l'aide de la commande:
SSH-Copy-ID 192.168.0.201
Maintenant que vous avez une configuration SSH sur les deux systèmes, vous pouvez démarrer à l'unisson pour synchroniser les fichiers et les répertoires.
Testons l'utilisation de l'unisson sur les deux serveurs en créant le répertoire que nous synchroniserons sur Server1:
mkdir -p / dir1
Sur Server2, créez un répertoire comme ci-dessus
mkdir -p / dir2
Comme mentionné, l'unisson respecte les autorisations des utilisateurs. Par conséquent, il est préférable de modifier les autorisations et la propriété dans les deux répertoires pour s'assurer que les deux répertoires ont lu et rédigé des privilèges.
Ensuite, ajoutez toutes les données que vous souhaitez synchroniser entre les serveurs dans DIR1. Par exemple, ajoutez quelques fichiers zip.
sudo mv ~ / documents.zip / dir1
En ayant les fichiers, nous voulons nous synchroniser dans le bon répertoire, exécuter la commande unison pour synchroniser à partir du serveur ONE comme:
unison / dir1 ssh: // 192.168.0.201 // dir2
Lors du premier lancement à l'unisson, vous recevrez un avertissement que le processus de synchronisation peut prendre un certain temps. Si vous avez des fichiers volumineux dans les répertoires, cela peut prendre un certain temps, mais comme nous ne l'utilisons qu'à des fins de test, cela devrait être relativement rapide.
Appuyez sur Entrée pour démarrer le processus de synchronisation. Une fois le processus de synchronisation terminé, accédez à Server2, accédez à DIR2 et listez le contenu du répertoire comme:
cd / dir2 && ls -la
-RW-R - r-- 1 Root Root 436 Jan 5 12:57 Documents.zipper
Modification de la configuration à l'unisson
Dans la plupart des cas, nous ne voulons pas synchroniser les fichiers entre ces serveurs, car le processus est répétitif et inefficace. Nous pouvons modifier le fichier de configuration à l'unisson pour autoriser les fichiers de synchronisation automatique.
Utilisez la commande ci-dessous pour modifier le fichier de configuration par défaut:
sudo vi ~ /.Unison / par défaut.PRF
Dans le fichier, ajoutez les lignes suivantes:
auto = vrai
lot = vrai
Les lignes ci-dessus désactivent les invites lors de la synchronisation des fichiers, automatisant le processus.
Configuration à l'unisson cronjob
Une chose sûre est que les programmeurs sont très opposés à faire les choses manuellement, surtout quand il est possible d'automatiser, ce qui est le cas ici. Nous pouvons configurer un cronjob pour que l'unisson puisse effectuer automatiquement une synchronisation.
Dans Server1, créez un script bash simple pour exécuter la commande unison comme:
sudo touch / usr / bin / unisoncron && sudo vi / usr / bin / unisoncron
Dans le fichier, commencez par un shebang et ajoutez la commande Unison Sync:
#!/ bin / bash /
unison / dir1 ssh: // 192.168.0.201 // dir2
Comme d'habitude, faites que le script exécute les autorisations:
Sudo Chmod 755 / USR / BIN / UNISONCRON
Maintenant, modifiez votre fichier Cronjob avec Crontab:
sudo crontab -e
Si c'est la première fois que je modifie Crontab-, j'espère que ce n'est pas provoquer votre éditeur et entrez la ligne suivante pour se synchroniser avec l'unisson toutes les 1 heure:
* / 60 * * * * / usr / bin / unisoncron &> / dev / null
Vous pouvez également configurer le crontab pour fonctionner à des moments précis de la journée. Vous n'avez pas non plus besoin d'utiliser un script et pouvez utiliser une commande brute dans le crontab.
Conclusion
Ce tutoriel vous a montré comment installer et configurer UNISON sur un système Debian pour la synchronisation des fichiers et des répertoires.
Bien que ce guide rapide puisse vous aider à démarrer, vous pouvez en savoir plus en utilisant des pages à l'unisson (pages manuelles) ou la documentation officielle à l'aide de la ressource fournie ci-dessous: