Der einfachste Weg, diese Frage zu erklären, ist die folgende Codezeile, die ich in einem Bash-Skript habe.tar über ssh: Legen Sie Zieldateiname und Speicherort fest, und überschreiben Sie vorhandene
tar -cJf - ./my_folder | ssh [email protected] 'tar -xJf - && rm -r ./path-to-my_folder/my_folder && mv ./my_folder ./path-to-my_folder'
Ich verstehe nicht vollständig, wie es funktioniert. (Was bedeutet '-'
in diesem Zusammenhang?) Aber das ist, was es tut:
Erstellt ein komprimiertes tar-Archiv im Speicher und das Rohr schiebt irgendwie die tar-Daten über ssh
Das tar-Archiv erscheint in
user
s Stammordnern wirdder SSH-Befehl wird das Material in dem zwischen
' ... '
Ausführen extrahiert wird der alte Ordner auf der Server-Seite entfernt und ersetztrm
Verwendung durch die extrahierten Ordner aus dem u Bewegen ser's Wurzelverzeichnis
Es ist offensichtlich, dass dies ein ziemlich langer Weg ist, Dinge zu tun. Es wäre besser, wenn das tar-Archiv an den richtigen Ort extrahiert würde, so dass die Befehle rm
und mv
nicht notwendig wären. Kann das gemacht werden?
Hinweis: I kann nicht verwenden rsync.
Alle Ihre tar-Über SSH Fragen gehören wirklich zu unix.stackexchange.com oder superuser.com. SO ist für Programmierfragen, nicht Fragen über gewöhnliche Befehlszeilen. – Barmar
@Barmar Ich stimme zu - ich habe versehentlich eine Frage auf Serverfehler geschrieben, die auch falsch war. Ich habe es für die Migration markiert – user3728501
Ich stimme diese Frage als Off-Thema zu schließen, weil es auf Unix & Linux gehört –