
Ich möchte ein Shell-Skript erstellen, das das Backup-Verzeichnis von meinem Quellserver kopiert und es per SFTP-Befehl in ein anderes Verzeichnis auf dem Zielserver legt. Nachdem ich die Datei auf dem Zielserver abgelegt habe, möchte ich zusätzlich die Größe des Quell- und Zielservers vergleichen, um zu überprüfen, ob das SFTP vollständig erfolgreich war oder nicht.
Antwort1
sftp
Verwenden Sie hierzu stattdessen ein bestimmtes Werkzeug , zB rsync
:
Vom Quellserver:
rsync -av -e ssh /path/to/files target-server:/path/to/backup/
Vom Zielserver:
rsync -av -e ssh source-server:/path/to/files /path/to/backup/
Dies hat den Vorteil, dass nur geänderte Dateien oder sogar nur die Änderungen innerhalb einer Datei kopiert werden. Standardmäßig wird ein Vergleich von Größe und Änderungszeit durchgeführt, Sie können jedoch auch -c, --checksum
einen Vergleich auf Grundlage der Prüfsumme verwenden.
Fügen Sie hinzu --delete
, um Dateien zu entfernen, die auf dem Quellserver gelöscht wurden.