
Ich habe bereits versucht, die Protokolle auf dem Hostcomputer zu veröffentlichen (mit docker run -v src:/des). Jetzt möchte ich die Protokolle auf einen anderen Server übertragen
Befehle, die ich verwendet habe:
- rsync -u -avze ssh Quelle/* example.com:/des/logs
rsync: SSH-Ausführung fehlgeschlagen: Keine solche Datei oder kein solches Verzeichnis vorhanden (2) rsync-Fehler: Fehler im IPC-Code (Code 14) bei pipe.c(84) [sender=3.0.9] rsync: writefd_unbuffered konnte 4 Bytes nicht in Socket schreiben [sender]: Defekte Pipe (32) rsync-Fehler: Fehler im IPC-Code (Code 14) bei io.c(1532) [sender=3.0.9]
Habe die Quell- und Zielpfade bereits überprüft, aber es steht immer noch das Gleiche da.
Wenn Hostserver 1 mit Server 2 kommunizieren kann, sollte der Docker-Container, der auf Server 01 ausgeführt wird, mit Server 2 kommunizieren können. (Ist diese Aussage korrekt?)
Gibt es eine Möglichkeit, die Linux-Dienstprogramme zu verwenden, mit denen wir die Protokolle verwalten können, ohne andere Tools wie Splunk zu verwenden?
Antwort1
Ihre Syntax ist falsch, deshalb erhalten Sie die Fehlermeldung:
“No such file or directory (2) rsync error”
Die korrekte Syntax lautet:
$ rsync <options> /source host:/dest
Z.B
$ rsync -avz /source host:/dest
Wenn Sie einen benutzerdefinierten Port für SSH angeben müssen, verwenden Sie hierfür Anführungszeichen. Nachfolgend ein Beispiel:
$ rsync -e "ssh -p port" <options> /source host:/dest
Überprüfen Sie außerdem den Eigentümer des Quellverzeichnisses. Es sollte sich um einen Benutzer handeln, der rsync ausführt, sonst schlägt die Synchronisierung fehl.