Ich brauche eine von unseren Servern zu installieren, und als Vorsichtsmaßnahme, ich will bewegen /home
, /etc
, /opt
, und /Services
zum Backup - Server.
Ich habe jedoch ein Problem: Aufgrund vieler symbolischer Links werden viele Dateien mehrmals kopiert.
Ist es möglich scp
, die symbolischen Links zu ignorieren (oder den Link tatsächlich als Link zu kopieren, nicht als Verzeichnis oder Datei)? Wenn nicht, gibt es einen anderen Weg, dies zu tun?
a
Ist Archiv (bewahrt Dinge),v
ausführliche, vonh
Menschen lesbare Ausgabe,e
geben Sie den Dienst an, den Sie verwenden möchten (in diesem Fall ist esssh
). Lesen Sie hier mehrIch stellte fest, dass die
rsync
Methode bei mir nicht funktionierte, fand jedoch eine Alternative, die auf dieser Website ( www.docstore.mik.ua/orelly ) funktionierte .Insbesondere Abschnitt 7.5.3 von "O'Reilly: SSH: The Secure Shell. The Definitive Guide" .
quelle
scp
oderrsync
.Die Verwendung von
tar
overssh
als Sender und Empfänger reicht ebenfalls aus:quelle
--one-file-system
und auf der Zielseite hinzugefügtp
, um Berechtigungen beizubehalten.Eine Lösung ist die Verwendung eines Rohres. Ich habe eine Situation, in der ich einige * .gz-Dateien und symbolische Links erhalten habe, die von einer Software generiert wurden, um auf dieselben * .gz-Dateien mit einem etwas kürzeren Namen zu verlinken. Wenn ich einfach scp verwende, werden die symbolischen Links als reguläre Dateien kopiert und führen zu Duplikaten. Ich weiß, dass rsync symbolische Links ignorieren kann, aber meine gz-Dateien werden nicht mit synchronisierbaren Optionen komprimiert, und die Synchronisierung ist beim Kopieren dieser gz-Dateien sehr langsam. Also benutze ich einfach das folgende Skript, um die Dateien zu kopieren:
Die Option -f findet nur reguläre Dateien und ignoriert symbolische Links. Sie müssen diesen Befehl auf dem Quellhost eingeben. Hoffe, dies kann einigen Benutzern in meiner Situation helfen. Lassen Sie mich wissen, wenn ich etwas verpasst habe.
quelle
Eine Einzeilerlösung, die auf dem Client ausgeführt werden kann, um Ordner mit dem Befehl tar + ssh vom Server zu kopieren.
Hinweis: mkdir ist ein Muss. Wenn das Remote-Zielverzeichnis nicht vorhanden ist, komprimiert der Befehl einfach das gesamte Home des Remote-Servers und extrahiert es auf den Client.
quelle