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 tar
Befehl 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.