Ich verwende rsync, um viele Dateien in ein Verzeichnis wie folgt herunterzuladen:
rsync /src/directory/*.txt /download/dir/
Und dann mit watchmedo einen Befehl für jede neue Textdatei ausführen:
watchmedo shell-command -i '.*' -p '*.txt' -c 'file "${watch_src_path}"' /download/dir/
Das Problem ist, dass watchmedo die Ignoriermuster nicht abfängt und den Befehl für die von rsync erstellten temporären Dateien ausführt:
/download/dir/.dl_file.txt.ytfRRs: ERROR: cannot open `/download/dir/.dl_file.txt.ytfRRs' (No such file or directory)
Systemspezifikationen
Ubuntu 14.04
Python 2.7.6
watchmedo 0.8.3
Habe das gleiche Problem. Es ist eine Überwachung von .git-Dateien/Ordnern. Die Verwendung von ignore_pattern
und/oder ignore_directories
auf die Handler hat keine Auswirkung.
OSX, Python 2.7
Scheint auf allen Plattformen ein Problem zu sein:
Watchdog 0.8.3, Python 3.5, Windows 7, dasselbe
Immer noch 2 Jahre Schicht, Watchdog 0.8.3, immer noch.
Ist dieses Projekt tot?
watchmedo
entspricht dem vollständigen watch_src_path
. Zum Beispiel:
watchmedo shell-command --ignore-directories --recursive \
--patterns="*.xml" \
--ignore-patterns="*/.#*.xml" \
--command='echo "${watch_src_path} - ${watch_event_type}"' .
Das obige Skript würde rekursiv alle XML-Dateien im aktuellen Arbeitsverzeichnis überwachen und temporäre XML-Dateien ignorieren, die einige Texteditoren (zB emacs) erstellen könnten.
PS Open Source Projekte sterben nicht - sie sind unsterblich :)
watchmedo entspricht dem vollständigen watch_src_path.
Sieht aus wie es mit #335 zusammenhängt
Hilfreichster Kommentar
watchmedo
entspricht dem vollständigenwatch_src_path
. Zum Beispiel:Das obige Skript würde rekursiv alle XML-Dateien im aktuellen Arbeitsverzeichnis überwachen und temporäre XML-Dateien ignorieren, die einige Texteditoren (zB emacs) erstellen könnten.
PS Open Source Projekte sterben nicht - sie sind unsterblich :)