Hallo Andreas,
Warum genau willst Du die Auswahl einschränken? Nur, um neuere Dateien zu übertragen und alte nicht doppelt?
Richtig. Es geht vor allem darum, den Vorgang zu beschleunigen.
20 Files a 10MB von einem Rechner zu übertragen dauert halt wesentlich länger als nur die 3 oder 4 wirklich benötigten zu holen.
Das ganze dann noch mit Faktor 15 ...
Da für jeden der 15 Server das Paßwort eingegeben werden muß (da führt kein Weg dran vorbei), ist es natürlich lästig, wenn man das Script ewig "beaufsichtigen" muß - je kürzer die Wartezeiten zwischen den Paßworteingaben, desto besser.
Mich hat das jetzt nicht losgelassen und ich hab ne Lösungsmöglichkeit gefunden. Du kannst nämlich Backtick-Angaben an die fremde Shell weiterleiten. Beispiel:
scp "christian@andromeda:\
find /home/christian/test -newer /home/christian/test/a -a -type f`" .`
Ich hatte in /home/christian/test auf meinem Rechner andromeda drei Dateien angelegt: a, b und c in genau dieser Reihenfolge im Abstand von ein paar Minuten - a war also die älteste etc. Wenn ich auf andromeda selbst jetzt
find /home/christian/test -newer /home/christian/test/a -a -type f
laufen lasse, dann findet er mir alle Dateien, die neuer sind, als /home/christian/test/a (das -a -type f mache ich, damit er das Verzeichnis /home/christian/test selbst nicht zurückgibt, das ja zum gleichen Zeitpunkt, in dem die letzte Datei darin erstellt wurde, zuletzt geändert wurde) - in dem Fall also /home/christian/test/b und /home/christian/test/c.
Der Trick ist jetzt, dass ich das ganze an die fremde Shell übergeben kann - allerdings müssen die Backticks maskiert sein (`), da diese sonst bereits auf der lokalen Shell ausgeführt werden.
Einziger Haken: Durch die Backticks sind Dateien/Verzeichnisse mit Leerzeichen nicht möglich zu behandeln (er denkt dann, es wären 2 Dateien), ich hab auf Anhieb leider keinen glorreichen Einfall gehabt, wie man das in dem Fall (da geht's ja nur mit Backticks) umgehen könnte.
Viele Grüße,
Christian