Hier ist die Verzeichnisstruktur:
/a/
/a/b/
/a/c/
Ich möchte alles kopieren, mit Ausnahme des Unterverzeichnisses / a / c /.
scp -rp myserver:/a . # this will copy everything
F: Wie würde ich ein Verzeichnis angeben, das im Befehl scp weggelassen werden soll?
Antworten:
Ich glaube nicht, dass Sie können, aber Sie könnten Rsync verwenden? Etwas wie das:
quelle
Ich denke, dies ist die richtige Methode, so dass Sie immer noch SSH verwenden. Ich habe keine Möglichkeit gefunden, dies mit scp zu tun - aber die Verwendung von rsync über ssh könnte das Problem beheben.
Wenn Sie die Option -n verwenden, wird ein Probelauf des Prozesses erstellt:
quelle
-rz
:-e "ssh -i private.pem" -rz 'users@server:/full/path/'
.Sie können erweitertes Globbing wie im folgenden Beispiel verwenden:
quelle
Dies ist nicht die perfekte Methode, aber legen Sie das Unterverzeichnis fest, das Sie als schreibgeschützt ausschließen möchten.
chmod -R 444 /a/c
sollte den Trick machen. Beim Versuch, über dieses Verzeichnis zu schreiben, wird die Fehlermeldung "Berechtigung verweigert" ausgegeben.quelle