Ich denke du bist schon auf der richtigen Seite. Sie haben die beiden Dinge erwähnt, die ich vorgeschlagen hätte.
FUSE ist anscheinend ziemlich einfach zu stecken. Ich hatte vor einiger Zeit eine ähnliche Frage und eine der Antworten erwähnte FUSE. Ich habe eine einfachere Option gefunden (die ich gleich erläutern werde), aber wenn dies nicht wünschenswert ist, ist FUSE möglicherweise eine Untersuchung wert.
Mein Problem war, dass ich ein eingehendes Verzeichnis habe, in dem Clients alle Arten von Mist ausgeben. Ich brauchte einen Weg, um sie in tiefe Verzeichnisse sortieren zu können (z. B. /work/client-name/project/document.ext
), aber ich hatte immer noch ein Verständnis auf höchster Ebene, um zu sehen, was neu war. Ich habe ein kleines Bash-Skript geschrieben, das ein "aktuelles" Verzeichnis enthält, das Symlinks zum aktuellen Inhalt enthält.
So etwas Einfaches könnte für Sie funktionieren. Verketten Sie einfach weiter mit -not -name
Argumenten oder filtern Sie positiv, wenn Sie etwas haben, nach dem Sie suchen können ...
#!/bin/bash
rm new-path/* # clean up old symlinks
find original-path -type d -maxdepth 1 -not -name folder2\
-exec ln -s -t new-path/ {} +
Dies ist nur die erste Ebene, aber Sie können sie erweitern auf:
- Suchen Sie nach den Verzeichnissen, die Sie spiegeln möchten
- Erstellen Sie neue (echte) Verzeichnisse in
new-path
- Schleifen Sie die neuen Verzeichnisse und durchsuchen Sie die alten Versionen nach gewünschten Dateien, um Symlinks zu erstellen. Wie der ursprüngliche Fund mit einer gewissen Erweiterung der Pfade.
- Die anfängliche Bereinigungsanweisung muss auch sein,
rm -rf new-path/*
weil sie echte Verzeichnisse sind. Sei vorsichtig damit.