GNU/Linux >> Tutoriels Linux >  >> Linux

Comment synchroniser des fichiers dans les deux sens à l'aide du script Osync sous Linux

Vous vous demandez peut-être pourquoi ai-je besoin d'une solution de synchronisation de fichiers bidirectionnelle/bidirectionnelle ? La nature basée sur les terminaux d'osync en fait une solution de synchronisation de fichiers idéale qui peut être exécutée selon trois modes :

  1. manuellement
  2. via des tâches planifiées
  3. via un démon (déclenché lorsque de nouveaux changements de fichiers se produisent)

Ce synchroniseur avec état agit comme un rsync emballage. Osync est attribué avec état car il n'est pas obligé de surveiller les fichiers ciblés pour les modifications. Cet attribut le rend également sans agent.

Entre deux exécutions, osync comparera les listes de fichiers de réplique. Ces exécutions peuvent être locales à locales ou locales à distantes. L'exécution de la réplication locale vers locale prend environ 2 secondes, tandis que l'exécution de la réplication locale vers distante prend environ 7 secondes.

Fonctionnalités Osync

Principales fonctionnalités d'Osync :

  • Prise en charge de la synchronisation locale à locale et locale à distante.
  • Contrôle total du temps de script.
  • Alertes par e-mail
  • Exécution en tant que démon ou dans les délais
  • Surveillance des répertoires
  • Installation de journalisation
  • Gère plusieurs tâches de synchronisation via l'exécuteur par lots et les tâches de synchronisation ayant échoué via une option de réexécution
  • Reprendre les scénarios pour gérer la tolérance aux pannes
  • Attributs étendus et synchronisation POSIX ACL
  • Exécution de la commande pour les exécutions avant/après
  • Gestion des sauvegardes multiples et des suppressions logicielles

Si vous avez besoin d'une exécution rapide, vous souhaiterez peut-être désactiver certaines des fonctionnalités osync telles que les vérifications de l'espace disque et la préservation des attributs. Un schéma de synchronisation cible/initiateur est également applicable sous osync.

Une réplique cible/initiatrice préexistante est protégée contre plusieurs processus de synchronisation simultanés via des pidlocks. La conception principale d'Osync l'empêche de supprimer les données utilisateur/système. Les suppressions réversibles ou les fichiers conflictuels sont préservés grâce aux sauvegardes créées.

Installer Osync sous Linux

Une version stable ou la plus récente d'osync peut être trouvé sur Github. Vous devez d'abord installer git avant de pouvoir récupérer et installer l'outil de synchronisation de fichiers osync depuis Github.

Utilisez l'un des guides d'installation suivants selon la distribution de votre système d'exploitation Linux.

Installer Osync dans les distors basés sur RHEL

$ sudo yum install git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Installer Osync dans les distors basés sur Debian

$ sudo apt install git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Installer Osync dans Arch Linux

$ sudo pacman -S git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Installer Osync dans OpenSUSE Linux

$ sudo zypper install git
$ sudo git clone -b "stable" https://github.com/deajan/osync
$ cd osync
$ sudo bash install.sh

Lors du clonage d'osync depuis Github, suppression du -b "stable" L'option de la commande git clone récupérera le dernier instantané de développement d'osync.

Comment utiliser Osync sous Linux pour la synchronisation bidirectionnelle des fichiers

Comme déjà mentionné, il existe trois approches pour utiliser osync.

  1. Mode de synchronisation rapide
  2. Mode Fichier de configuration
  3. Mode Démon

Synchronisation de fichiers local-local et local-distant à l'aide du mode de synchronisation rapide

Cette approche est cependant pratique pour les utilisateurs cherchant à obtenir des synchronisations rapides entre les répertoires. Pour local à local répertoires, considérez la syntaxe osync suivante :

$ osync.sh --initiator="/path/to/directory1" --target="/path/to/directory2"

À titre d'exemple, la mise en œuvre est la suivante :

$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" –target="/home/dnyce/LinuxShellTips_Backup"

Pour local à distance répertoires, vous devrez peut-être d'abord configurer votre machine pour un accès SSH sans mot de passe.

$ sudo ssh-keygen -t rsa 
$ sudo ssh-copy-id [email protected]
$ sudo ssh [email protected]

La syntaxe de Quick Sync local à distant est la suivante :

$ osync.sh --initiator="/path/to/another/directory" --target="ssh://user@host/IP:22//path/to/directory2" 

Un exemple d'implémentation ressemblerait à ceci :

$ sudo osync.sh --initiator="/home/dnyce/LinuxShellTips" --target="ssh://[email protected]:22//home/ubuntu/linuxshelltips_remotesync"

Et enfin…

Ne vous inquiétez pas pour osync terminé avec des avertissements , C'est juste que j'ai désactivé le ping sur mon serveur. Cependant, votre commande osync peut inclure les options de commande suivantes pour vous aider à diagnostiquer les erreurs critiques.

--summary --errors-only --no-prefix

Par exemple :

$ osync.sh --initiator="/path/to/another/directory"--target="ssh://user@host/IP:22//path/to/directory2" --summary --errors-only --no-prefix 

Configuration d'une tâche Cron pour automatiser la synchronisation des fichiers

Nous pourrions automatiser la Quick Sync tâches de mode via des tâches cron.

$ sudo su
$ crontab -e

L'ajout des deux tâches cron suivantes pour les répertoires local à local et local à distant automatisera nos tâches osync.

 */5        *        *        *        * osync.sh --initiator="/home/dnyce/LinuxShellTips" –target="/home/dnyce/LinuxShellTips_Backup"
 */5        *        *        *        * osync.sh --initiator="/home/dnyce/LinuxShellTips" --target="ssh://[email protected]:22//home/ubuntu/linuxshelltips_remotesync"

Osync est une solution de synchronisation bidirectionnelle idéale pour les répertoires locaux à locaux et locaux à distants. Les synchronisations de répertoires que vous créez constituent un plan de sauvegarde parfait pour les données critiques en cas de suppression accidentelle ou de preuves de fichiers corrompus.


Linux
  1. Comment utiliser Rsync pour synchroniser des fichiers nouveaux ou modifiés/modifiés sous Linux

  2. Comment gérer les fichiers journaux à l'aide de Logrotate sous Linux

  3. Comment renommer plusieurs fichiers ensemble sous Linux en utilisant 3 méthodes

  4. Comment trier des fichiers sous Linux à l'aide de la commande Sort

  5. Comment créer des fichiers fragmentés sous Linux à l'aide de la commande "dd"

Comment partager des fichiers localement sur Linux en utilisant NitroShare

Comment trouver des fichiers en utilisant la ligne de commande dans le terminal Linux

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment sauvegarder des fichiers et des répertoires à l'aide de Rsync sous Linux

Comment copier des fichiers sous Linux à l'aide de la commande CP

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux