Tar-Verzeichnisse beim Senden mit SSH

Tar-Verzeichnisse beim Senden mit SSH

Wenn ich heutzutage meinen Server sichern möchte, melde ich mich bei ihm an und führe dann den folgenden Befehl aus, der das lokale Verzeichnis „/ebs1“ tarnt, es an einen anderen Server mit der IP xxx.xxx.xxx.xxx sendet und es auf diesem Backup-Server unter dem Namen „/ebs1_2019-06-02.tar“ speichert.

tar -cvf - "/ebs1" | ssh -p 22 [email protected] "cat > /ebs1_2019-06-02.tar"

Es funktioniert einwandfrei. Aber ist Ihnen aufgefallen, dass ich auf dem Server angemeldet bin, der gesichert wird, um den obigen Befehl auszuführen? Aber was ist, wenn ich auf dem Backup-Server angemeldet sein möchte? Wie ändere ich den obigen Befehl?

Antwort1

Hier entlang:

ssh [email protected] tar cf - /ebs1 >/ebs1_2019-06-02.tar

Dies funktioniert nicht gut, wenn das zu sichernde Verzeichnis Leerzeichen oder Sonderzeichen enthält. In diesem Fall müssen Sie einen Befehl wie diesen verwenden:

ssh [email protected] tar cf - "'/directory name'" >/ebs1_2019-06-02.tar

... und das kann schnell unpraktisch werden. Sie sollten auf dem Zielcomputer ein Skript mit dem tarBefehl schreiben und dieses über ausführen ssh, damit Sie nicht alles in der Befehlszeile escapen müssen.

Wenn der Verzeichnisname jedoch keine Sonderzeichen enthält, sollte der erste Befehl ausreichen.

verwandte Informationen