Rsync-Bash-Skript zum nächtlichen Sichern bestimmter Verzeichnisse auf einem Remote-Server


1

Ich suche nach einem rsync-Skript, das nachts bestimmte Verzeichnisse von meinem Heimcomputer auf einem Remote-Server sichert. Also sag: / home / me / Pictures an ssh -p 6587 me@remoteserver.com/Pictures. Es wäre schön, wenn es nach Änderungen suchen könnte, aber ich bin nicht so besorgt darüber, dass der Änderungsaspekt darin besteht, ein Skript zu haben, das zu einer bestimmten Nachtzeit mit cron oder aber ausgeführt wird. Ich habe gegoogelt und Skripte gefunden, aber diese Skripte waren spezifisch für die Operationen dieser Schöpfer. Jede Hilfe wird gerne angenommen, da mich der Skript-Teil wirklich abschreckt. Vielen Dank, Janice

Antworten:


1

Es ist wirklich einfach, einfache Skripte zu erstellen. Sie verwenden einen Text-Editor ( gedit, nanooder die leistungsfähigen und komplexen emacs, vim...) , um eine Datei zu bearbeiten. Sie geben die Befehle ein, die Sie in der Befehlszeile ausführen würden. Sie geben eine "magische" erste Zeile ein, damit das System weiß, mit welchem ​​Befehl die Anweisungen im Skript befolgt werden. Und dann beschäftigen Sie sich mit den Hinterlassenschaften des Verlaufs und markieren nach dem Speichern / Beenden die Datei als "ausführbar", damit Sie sie ausführen können.

Die grundlegende magische erste Zeile ist #!/bin/sh- das #!ist das Bit, das sagt "der Rest der Zeile ist der Befehl, um diese Datei korrekt zu verwenden" und das /bin/shist die Shell. Sie könnten auch verwenden /bin/bash, oder verschiedene andere Dinge.

Also erstelle eine Datei do_backups:

#!/bin/sh
rsync -a -e "ssh -p 6587" /home/me/Pictures/ me@remoteserver.com:/Pictures/

und dann chmod +x do_backups.

Das -asagt "mach alles unter diesem Verzeichnis"; Das -eändert den Befehl, mit dem die Verbindung hergestellt wurde, damit Sie den Port hinzufügen können. der Hinter /auf /home/me/Pictures/ist wichtig zu rsync - einer seiner Macken.

Es ist wirklich so einfach, dass Sie den Befehl, den Sie an der Eingabeaufforderung ausführen, in eine Datei mit einer speziellen ersten Zeile einfügen. Es wurde entwickelt , um dieselben Befehle, dieselbe Syntax usw. zu verwenden.

rsync sucht selbständig nach Änderungen - das ist Teil seiner Aufgabe.

Benötigen Sie auch Zeiger auf den Cron-Teil?


Vielen Dank, dass Sie Phil geantwortet haben. Ich habe den Cron-Teil ohne Probleme. Nehmen wir an, ich möchte mehrere Verzeichnisse in einem Durchgang sichern. Jetzt werden meine Bilder in dem Bilder-Verzeichnis gesichert, wobei das Verzeichnis intakt bleibt, aber wenn ich mehrere / home / me / Bilder / / home / me / Dokumente / home / me / recipes @ remoteserver.com: / Es wird ein Home-Ordner erstellt mit allen Unterverzeichnissen auf dem Remote-Server. Ich möchte nur, dass der Inhalt der mehreren Verzeichnisse in die Remote-Server-Verzeichnisse kopiert wird, z. B. Bilder, Rezepte usw., ohne dass das Verzeichnis home / me / documents / etc erstellt wird. Danke Janice
Janice Young

1
Fügen Sie mehrere rsync-Befehle in ein Skript ein.
Phil P

1
Wenn Sie versuchen, die mehrfache Eingabe eines Kennworts zu vermeiden, können Sie die Sicherheit des SSH durch die Verwendung der SSH-Authentifizierung mit öffentlichem Schlüssel erhöhen, als wenn Sie Kennwörter verwenden. Sie können das einfacher machen, bis zu dem Punkt, an dem es überhaupt kein Passwort erfordert, aber um dies sicher zu machen, müssen Sie ein wenig fummeln, um einzuschränken, was mit einem bestimmten Schlüssel gemacht werden kann und das wird ... nicht komplex. aber beteiligt und erfordert ein bisschen mehr Verständnis. Das obige sollte vorerst funktionieren.
Phil P
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.