Ich verwende rsync
, um eine Verbindung zu einer Festplatte auf einem Remotecomputer herzustellen und eine Sicherungskopie davon zu erstellen, auf die ich ssh-Zugriff habe. rsync
ist richtig angeschlossen. Der Code, der funktioniert, ist
rsync -av --progress -e "ssh -p port_number -i key/file/path" \
"path/on/local/computer/to/back/up" \
ssh_username@ssh_ip_address:"'path/on/remote/computer/to/back/up/to'"
Ich frage mich, ob es eine Möglichkeit gibt, rsync
seine --log-file
Option zum Generieren einer Protokolldatei auf dem fernen System zu verwenden (ich möchte, dass sich die Datei auf derselben fernen Festplatte befindet, auf der ich ein Backup mache). Jedes Mal, wenn ich ihm einen Remote-Pfad für die Protokolldatei gebe (zum Beispiel mit --log-file="path/on/remote/computer"
), scheint er nach dem Pfad auf meinem lokalen System zu suchen. Ich habe es sogar versucht --log-file=ssh_username@ssh_ip_address:path/on/remote/system
, aber es hat nicht funktioniert.
Ist dies möglich, oder muss ich eine Protokolldatei auf dem lokalen System und dann scp
auf dem Remote-System erstellen ?
Sowohl auf dem lokalen als auch auf dem Remote-System wird Ubuntu 12.04 ausgeführt.
Antworten:
Ich würde das
rsync
auf der anderen Maschine tun und dann einfach einenscp
Befehl ausführen , um die lokal generierte Protokolldatei auf dem entfernten System abzulegen, auf dem sie aufbewahrt werden soll.Synchronisierungsdatei + Protokoll
Bestätigung
Verknüpfen des Protokolls mit der Remote-Seite
Wenn Sie die Ergebnisse aus
rsync
einer entfernten Datei zusammenfassen möchten , können Sie einen zusammengesetzten Befehl verwenden ( siehe bashs Manpage ). Hier wickle ichrsync
mit Parens und leite seine Ausgabessh
durch eine Pipe, dh:1. Datei kopiert
1. Kopie bestätigen
2. Datei kopiert
2. Kopie bestätigen
HINWEIS: Achten Sie besonders auf die Datei auf der rechten Seite des
ssh
. Beachten Sie, dass der$HOME
Pfad einen Schrägstrich () vor dem hat$HOME
. Dies ist absichtlich. Es ist notwendig, das zu maskieren,$HOME
damit die Bash-Shell des lokalen Hosts sie nicht erweitert.quelle
scp
eine Datei anhängen, anstatt sie zu überschreiben?cat localfile | ssh user@remoteserver "cat >> remotefile"
funktionieren könnte.