Automatisiertes Sichern mit rsync und cronjob

Rsync-Skript

Das Skript ist für die automatische Sicherung von beliebigen Ordner zuständig und durch verschiedene Parameter konfigurierbar. Die Parameter und deren Bedeutung sind folgende:

  • SOURCE – Quellordner
  • TARGET – Zielordner
  • RSYNCCONF – Parameter zum vollen Synchronisieren
  • RSYNC – Speicherort der Binärdatei von „rsync“

Sind alle Parameter konfiguriert, kann das Skript ausgeführt werden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
#
# Automatisches Sichern von speziellen anzugebenden Ordner
# mit Hilfe von "rsync" und cronjob
#
# Angabe der Ordner die gesichert werden soll.
# ACHTUNG
# /[Ordner]/ -> Inhalt des Ordners wird gesichert
# /[Ordner] -> Ordner wird gesichert
SOURCES="/home/[USER]/Dokumente /home/[USER]/Downloads"

# Ziel des Backups auf dem entfernten Rechner.
# Benötigt SSH-Key-Exchange
TARGET="root@[REMOTE]:/home/backup/"

# Parameter zum Synchronisieren
# --delete bewirkt ein Datenabgleich inklusive Löschen auf dem Backupmedium
RSYNCCONF="--delete"

# Dateiname des Logfile
LOGFILE="rsync_log.log"

# Ort der Binär-Datei von "rsync"
RSYNC=`which rsync`

# Befehl
$RSYNC -avrpuE $RSYNCCONF $SOURCES $TARGET > $LOGFILE

exit 0

Tipp

Für eine reibungslose  Sicherung der Dateien und Ordner sollten für die Anmeldung auf dem Remote-System vorher ein SSH-Key-Exchange durchgeführt werden, damit man kein Passwort im Skript hinterlegen muss.

Cronjob

Damit man eine Automatisierung erreicht, muss das Skript regelmäßig ausgeführt werden. Dafür eignet sich ein Cronjob unter Linux bestens. Die generelle Gliederung der Zeitangaben ist die folgende:

* * * * * auszuführender Befehl
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7) (Sonntag =0 oder =7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59)

Exemplarisch soll das Skript immer in der Mittagspause durchgeführt werden. Damit ist gewährleistet das der Rechner im Betrieb ist und er mit hoher Wahrscheinlichkeit nichts zutun hat. Ein Cronjob für die Ausführung des Skript täglich um 12 Uhr sieht wie folgt aus:

1
0 12 * * * /home/[USER]/Dokumente/rsync_script.sh

Download

Rsync-Script

Rechte

Rechte ändern nicht vergessen. Das Skript muss ausführbar sein.

1
chmod +x /home/[USER]/Dokumente/rsync_script.sh
  1. Noch keine Kommentare vorhanden.

  1. Noch keine TrackBacks.