Ich benutze den scp-Befehl, um einige Dateien auf einen Remote-PC zu kopieren, wie Sie es mit scp tun :)
Ich stelle fest, dass das Standardverhalten einer scp-Kopie für Dateien darin besteht, alle vorhandenen Dateien zu überschreiben. Jetzt möchte ich einen Ordner kopieren, damit ich im Grunde dasselbe mache:
scp -r <source_path> user@myOtherPc:<dest_path>
Wo die Teile in <> sind meine Ordnerpfade. Wenn ich dies jedoch ausführe, erhalte ich die Meldung "Datei existiert". Gibt es einen Weg, dies zu umgehen? eine Art von Kraft überschreiben?
Danke, Futter
-v
. Verwenden Sie auf der Zielseite auch den absoluten oder relativen Pfad? Ich denke, wenn der Zielordner bereits vorhanden ist, wird dertestdir/testdir
Antworten:
Wie bereits erwähnt, überschreibt scp fröhlich alle Dateien, die bereits vorhanden sind.
Das Problem "Datei vorhanden" kann nur auftreten, wenn Sie einen anderen Prozess (z. B. einen gleichzeitigen scp-Prozess oder etwas anderes) haben, der Ordner und Dateien an dasselbe Ziel schreibt. Erwägen Sie stattdessen die Verwendung von rsync.
quelle
Wie Levans konnte ich dies nicht replizieren, aber haben Sie darüber nachgedacht, stattdessen rsync über ssh zu verwenden? Wenn Sie eine große Anzahl von Dateien kopieren, ist rsync möglicherweise eine bessere Option als scp. Es gibt eine Reihe guter Online-Anleitungen, wie zum Beispiel die folgenden:
http://troy.jdmz.net/rsync/index.html https://calomel.org/rsync_tips.html
Dieser erste Link befasst sich mit automatisierten Sicherungen über cron, sodass einige der Anweisungen (wie das Erstellen eines SSH-Schlüssels ohne Passphrase) für Sie möglicherweise nicht relevant sind.
quelle
Sie erhalten diese Fehlermeldung, wenn das Zielverzeichnis bereits eine Datei mit demselben Namen wie das Quellverzeichnis enthält, das Sie übertragen möchten. Sie können keine Datei mit demselben Namen wie ein Verzeichnis im selben Verzeichnis haben.
quelle