
Ich verwende VSC als Editor unter Windows 10 Pro und möchte bei Dateiänderungen eine Synchronisierung mit einem Remote-Server durchführen.
Ich habe WSL mit einem Debian-Gastsystem installiert
Wenn ich dieses Skript ausführe
while inotifywait -r -e modify,create,delete /path/to/folder; do
rsync -rltzv --progress --chmod=0600 --exclude=.git/ --exclude=.vscode /path/to/folder [email protected]:~/remote/folder;
done;
Das rsync wird nicht nur gestartet, wenn ich eine Datei in VSC speichere, sondern auch, wenn ich sie öffne. Das ist zwar nicht kritisch, aber es ist ärgerlich und eine Verschwendung von Bandbreite.
Kann ich etwas dagegen tun?
Bearbeiten
Ich weiß nicht, woran das liegt, aber das Problem scheint bei mir mit meinen Einstellungen nicht mehr aufzutreten. Ich habe aber nichts geändert
Antwort1
Sie überwachen zu viele Ereignisse[*]. Die Ereignisse, die wichtig sind, sind:
CLOSE_WRITE
, da das Einfügen von Daten in Dateien das Schließen dieser Dateien erfordert. Sie können auch davon ausgehen, dass sich die Datei zu diesem Zeitpunkt in einem konsistenten Zustand befindet.DELETE
für Dateien, die entfernt werdenMOVED_TO
,MOVED_FROM
für Dateien, die zum Baum hinzugefügt, aus ihm verschoben oder einfach umbenannt werden.
[*] Beispielsweise MODIFY
passiert dies experimentell viele Male (wahrscheinlich bei jedem Schreibvorgang in der Datei) und das Kopieren der Datei an diesem Punkt könnte eine Datei in einem inkonsistenten Zustand kopieren. Dies OPEN
passiert auch, wenn Sie später keine Änderungen vornehmen.