GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux:Dateien kontinuierlich synchronisieren, in eine Richtung

Sie können auch inotifywait verwenden aus dem inotify-tools-Paket.

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

Lsyncd wäre dafür eine gute Lösung.

Lsyncd überwacht eine Ereignisüberwachungsschnittstelle für lokale Verzeichnisbäume (inotify oder fsevents). Es aggregiert und kombiniert Ereignisse für einige Sekunden und erzeugt dann einen (oder mehrere) Prozess(e), um die Änderungen zu synchronisieren. Standardmäßig ist dies rsync. Lsyncd ist somit eine leichtgewichtige Live-Mirror-Lösung, die vergleichsweise einfach zu installieren ist, keine neuen Dateisysteme oder Blockgeräte erfordert und die lokale Dateisystemleistung nicht behindert.

Unterm Strich verwendet es die gleichen Tools, um die Arbeit zu erledigen (inotify und rsync), wie in anderen Antworten vorgeschlagen, aber es ist einfacher für jemanden einzurichten, der nicht mit Shell-Skripten vertraut ist.


Ich brauche das sehr, da mein Code auf Remote-Boxen ausgeführt werden muss und ich Code auf einem lokalen Computer schreibe. Ich habe ein nettes Tool gefunden, mit dem Sie Ihre lokalen Ordner kontinuierlich überwachen und mit entfernten oder lokalen Ordnern synchronisieren können:https://github.com/axkibe/lsyncd

Ein einfacher Befehl zum kontinuierlichen Synchronisieren eines lokalen Verzeichnisses mit einem entfernten Rechner über ssh lautet:

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

Stellen Sie wie bei jedem anderen rsync-Befehl sicher, dass Sie den richtigen Ordnerpfad angeben und überprüfen, bevor Sie den Befehl ausführen. Ich hätte fast einen meiner Remote-Rechner getötet, weil ich es versäumt hatte, ein korrektes Zielverzeichnis anzugeben. Stellen Sie sicher, dass Sie den Remote-Pfad nicht auslassen und verwenden Sie kein '/', es sei denn, Sie wissen, was Sie tun.


Linux
  1. So synchronisieren Sie lokale und entfernte Verzeichnisse in Linux

  2. SCP-Linux-Befehl – ​​So übertragen Sie SSH-Dateien von Remote auf Lokal

  3. So übertragen Sie Dateien unter Linux mit SCP und Rsync

  4. So übertragen Sie Dateien sicher mit dem SCP-Befehl unter Linux

  5. Schnelle Möglichkeit, Dateien unter Linux rekursiv zu zählen

Vim-Tipps – Bearbeiten Sie Remote-Dateien mit Vim unter Linux

Vim-Tipps – Lesen und schreiben Sie entfernte Dateien mit Vim unter Linux

So laden Sie Dateien von Remote-Linux-Servern herunter

So führen Sie unter Linux mehrere PDF-Dateien zu einem PDF zusammen

Lsyncd – Lokale Verzeichnisse mit Remote-Linux synchronisieren

Der schnellste Weg zum rekursiven Zählen von Dateien unter Linux