Ich versuche, geänderte Dateien per ssh nach godaddy zu kopieren. Godaddy ist schrecklich und erlaubt daher natürlich kein Rsync. Ich kann scp benutzen, aber ich möchte wirklich nur geänderte Dateien kopieren. Ich glaube nicht, dass das möglich ist, also habe ich mich gefragt, ob ich vielleicht nur alle PHP-Dateien scp können.
Es gibt jedoch viele Unterverzeichnisse, sodass ich die Option -r verwenden muss.
Gibt es eine Möglichkeit, mit scp alle Dateien mit der Erweiterung zu kopieren? php
, rekursiv? so was:
scp -r -name "*php" /local/html/ user@server:/home/html/
(funktioniert nicht)
ERWÜNSCHTES ERGEBNIS
//on local machine $ find ./source source / 1.php source / 2.php Quelle / Sub source / sub / 3.php source / sub / 4.php source / sub / DONT-copy.txt source / sub / DONT-copy.png Quelle / Unter / 2 source / sub /₂ / 5.php source / sub /₂ / 6.php // Befehl zum Kopieren der Dateien $ [scp Befehl hier] // auf dem entfernten Server $ find ./destination Bestimmungsort / 1.php Ziel / 2.php Ziel / Sub Ziel / Unter / 3.php Ziel / Unter / 4.php Ziel / Unter / 2 Ziel / Unter / 2 / 5.php Ziel / Unter / 2 / 6.php
DAS FUNKTIONIERT NICHT
//on local machine $ find ./source source / 1.php source / 2.php Quelle / Sub source / sub / 3.php source / sub / 4.php source / sub / DONT-copy.txt source / sub / DONT-copy.png Quelle / Unter / 2 source / sub /₂ / 5.php source / sub /₂ / 6.php // Befehl zum Kopieren der Dateien $ cd source; scp -r * .php user @ remote: / destination // auf dem entfernten Server $ find ./destination Bestimmungsort / 1.php Ziel / 2.php
Vielleicht könnten wir auch versuchen, find zu verwenden, aber ich bin mir ziemlich sicher, dass dies so ist wird nicht so funktionieren wie es ist :
find ./source -name "*.php" -exec scp {} user@remote:{} \;
Das wird nicht funktionieren, weil ich nicht denke, dass Sie mehrere verwenden können {}
Betreiber in zu finden.
Es kann auch schwierig sein, die Pfade auf dem Remote-Server in eine Linie zu bringen, wenn beispielsweise find zurückkehrt /users/johndoe/documents/source/1.php
und du wolltest, dass es am ende ist /home/jane/www/destination/1.php
auf dem Remote-Server.
{}
Token? Ich sehe vielversprechend aus können Verwenden Sie mehrere {}
), müssen Sie möglicherweise angeben user@remote:~/{}
als Bestimmungsort.
cat phpfiles.tar | ssh user@remote "cd destination && tar cf -"
um alle Dateien in einem Durchgang zu übertragen.