GNU/Linux >> Tutoriels Linux >  >> Linux

Linux :synchroniser les fichiers en continu, dans un sens

Vous pouvez également utiliser inotifywait du paquet inotify-tools.

inotifywait -r -m -e close_write --format '%w%f' /tmp | while read MODFILE
do
    echo need to rsync $MODFILE ...
done

Lsyncd serait une bonne solution pour cela.

Lsyncd surveille une interface de moniteur d'événements d'arbres de répertoires locaux (inotify ou fsevents). Il agrège et combine les événements pendant quelques secondes puis lance un (ou plusieurs) processus pour synchroniser les changements. Par défaut, il s'agit de rsync. Lsyncd est donc une solution de miroir en direct légère, relativement facile à installer, ne nécessitant pas de nouveaux systèmes de fichiers ou de périphériques de blocage et n'entravant pas les performances du système de fichiers local.

En fin de compte, il utilise le même type d'outils pour faire le travail (inotify et rsync) que suggéré par d'autres réponses, mais il est plus facile à configurer pour quelqu'un qui n'est pas familier avec les scripts shell.


J'en ai beaucoup besoin car mon code doit s'exécuter sur des boîtiers distants et j'écris du code sur une machine locale. J'ai trouvé un bel outil que vous pouvez utiliser pour surveiller en permanence vos dossiers locaux et les synchroniser avec un dossier distant ou local :https://github.com/axkibe/lsyncd

Une commande simple pour synchroniser en continu un répertoire local avec une machine distante via ssh sera :

lsyncd -log all -nodaemon -rsyncssh <local_path> <user>@<ip> <remote_path>

Comme avec toute autre commande rsync, assurez-vous de donner le bon chemin d'accès au dossier et vérifiez avant d'exécuter la commande. J'ai failli tuer une de mes machines distantes car j'ai manqué de donner un répertoire de destination correct. Assurez-vous de ne pas manquer le chemin distant et n'utilisez pas '/' à moins que vous ne sachiez ce que vous faites.


Linux
  1. Un moyen facile de masquer des fichiers et des répertoires sous Linux

  2. Comment synchroniser les répertoires locaux et distants sous Linux

  3. Commande SCP Linux - Comment transférer un fichier SSH de distant à local

  4. Comment transférer des fichiers en toute sécurité à l'aide de la commande SCP sous Linux

  5. Comment utiliser rsync depuis un PC Windows vers un serveur Linux distant ?

Conseils Vim - Modifier des fichiers distants avec Vim sous Linux

Conseils Vim - Lire et écrire des fichiers distants avec Vim sous Linux

Comment télécharger des fichiers à partir de serveurs Linux distants

Comment fusionner plusieurs fichiers PDF en un seul PDF sous Linux

Lsyncd - Synchroniser les répertoires locaux avec Linux distant

Le moyen le plus rapide de compter les fichiers de manière récursive sous Linux