Ich möchte ein ~ 700GiB-Verzeichnis tarieren und an ein Remote-Laufwerk senden, das ich nicht kontrolliere. Ich habe lokal keinen Festplattenspeicher, um den Tarball zu erstellen und ihn dann zu kopieren. Die Fernbedienung ist auch durch rssh geschützt - Sie können nicht in den Server ssh und beliebige Befehle ausführen.
Ich kann jedoch scp, rsync oder sftp verwenden. Meine Frage bezieht sich also speziell auf einen dieser drei Befehle. Gibt es eine Möglichkeit für scp, rsync oder sftp, eine Pipe zu kopieren, ohne beliebige Befehle auf der anderen Seite ausführen zu können?
Update: Die folgenden Lösungen hätten bei uns in unserem Sekundärspeicher nicht funktioniert. Wir können nur bestimmte Befehle ausführen. Wir können nicht ssh - Befehle, die ssh verwenden, werden mit rssh gefiltert / gesteuert.
Am Ende haben wir alle unsere sekundären Konten gekündigt und viel Geld bezahlt, um unsere primäre Speichergröße zu verdoppeln (unser primärer Host konnte dies ohne Migration tun, was cool war). Wir haben dann ein temporäres Archiv erstellt und es wie gewohnt gesendet. (Was wir mit unserer anfänglichen Speichermenge nicht tun konnten.)
In Zukunft werden wir einen sekundären VPS mit einem eigenen dedizierten größeren Speicher verwenden, damit dies nicht erneut auftritt. Es ist klar, dass das, wonach ich gefragt habe, nicht möglich ist.
lftp
ist in der Lage, dies über das SFTP-Protokoll zu tun.Antworten:
Es ist nicht genau "Pipe", aber Sie können grundsätzlich festlegen
scp
, dass bestimmte FD (die Pipe sein können) von Ihrem Host auf den anderen kopiert werden sollen. Einfacher Bash-Befehl wie folgt:(
scp
funktioniert nicht, da es eine Größe im Voraus benötigt):aber es kann mit rein funktionieren
ssh
:quelle
scp
wird nicht funktionieren. Aber es sollte mit rein funktionierenssh
. Siehe bearbeitete Antwort. Ich habe das nicht versucht, aber konzeptionell sollte es den Job machen.rssh
das Aufrufen verhindert wirdcat
, es muss einen der drei genannten Befehle durchlaufen.RSYNC-Verhalten über SFTP
Ohne etwas zu komprimieren, können Sie die Verzeichnisstruktur mithilfe von LFTP (Name ist irreführend) und dem
mirror
Subsystem von LFTP auf die andere Seite replizieren. LFTP unterstützt SFTP und das Spiegel-Subsystem unterstützt nahezu alle Funktionen von rsync. Sie können die Übertragung auch in beliebig viele Verbindungen aufteilen, um die Übertragung zu beschleunigen. Ich mache das die ganze Zeit.Beispiel
Schauen Sie sich auch diesen Beitrag an: /server/135618/is-it-possible-to-use-rsync-over-sftp-without-an-ssh-shell
quelle