thom_raindog schrieb:
Danke für den Input mit dem Skript. Da ich aber schon Deduplikation haben will (und mir in keinster Weise sowas mittels Bash / rsync und Co selbst zutraue), bin ich aktuell man an Borg dran. Sieht auch aus, als wäre das ziemlich genau was ich will. Erste Tests sehen gut aus.
Wenn du keine Deduplikation haben willst, kannst du doch auch einfach mit "cp" (dem Kopierbefehl der Shell praktisch) die Dateien kopieren. Viel Wissen ist dafür eigentlich nicht notwendig. Um die Zeitsteuerung zu vereinfachen, könntest du auch einen Cronjob in der /etc/crontab eintragen. Siehe hierzu den entsprechenden Wiki-Artikel: Cron.
Das Skript sollte nicht anspruchsvoll sein. Wenn du es ein bisschen komfortabler haben willst, könntest du auch ein *tar.bz2-Archiv o. ä. packen und das dann auf deine externe Festplatte verschieben. Ein Beispiel hierfür habe ich hier zusammengefasst:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | #!/bin/bash
#Einfaches Backup-Skript
#Definition der Variable DATE (um im Archivnamen Datum zu haben)
DATE=$(date +%Y-%m-%d-%H%M%S)
#Erstellen des Verzeichnisses in das gesichert werden soll (falls noch nicht vorhanden)
mkdir -p /home/backup/alkinoos
#Packen des Archivs
tar -cvjpf backup-$DATE.tar.bz2 /home/alkinoos/
#Verschieben des Archivs auf Zielort
mv -v backup-$DATE.tar.bz2 /home/backup/alkinoos
|
Das hier ist jetzt nur ganz einfach. Hier wird zum Beispiel die Sicherung nur in ein lokales Verzeichnis gesichert. Verbessern könnte man das Skript auch noch, indem man das zu sichernde Verzeichnis und den Zielort in Variablen definiert, damit man es bei einem Wechsel ganz einfach für das ganze System ändern kann. Damit das Mögliche dargestellt ist, hier ein kurzes Beispiel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | #!/bin/bash
#Einfaches Backup-Skript
#Definition der Variable DATE (um im Archivnamen Datum zu haben)
DATE=$(date +%Y-%m-%d-%H%M%S)
#Definition der Variable "ausgangsort" (Zu sicherndes Verzeichnis)
ausgangsort=/home/alkinoos/
#Definiton der Variable "zeilort" (Verzeichnis, wo Backup hinverschoben werden soll)
zielort=/home/backup/alkinoos
#Packen des Archivs
tar -cvjpf backup-$DATE.tar.bz2 $ausgangsort
#Erstellen des Verzeichnisses, in das Backup geschoben werden soll (falls noch nicht vorhanden)
mkdir -p $zielort
#Verschieben des Archivs auf Zielort
mv -v backup-$DATE.tar.bz2 $zielort
|
Die Funktionsweise des Skripts ist fast die Gleiche, außer eben das jetzt Ausgangs- und Zielort über Variablen definiert werden. Dies ist sinnvoll da die Variable "zielort" zweimal verwendet wird: Einmal bei der Erstellung des Verzeichnisses und einmal wenn in dieses Verzeichnis verschoben werden soll. Wenn du dies nicht über Variablen definieren würdest, dann besteht die Gefahr, dass du Fehlermeldungen bekommst, wenn du dein Skript veränderst, weil du es bei einem von einem vergessen hast. Dann ist unter Umständen das Verzeichnis ja nicht da.
Ich hoffe ich konnte dir einen Einblick geben, was schon mit relativ einfachen Mitteln möglich ist und wirklich unter jedem Linux läuft! Das ist natürlich noch nicht alles, was du machen kannst, du könntest zum Beispiel verschiedene Möglichkeiten zur Verfügung stellen, doch das wäre dann nicht mehr so sinnvoll für ein zeitgesteuertes Backup, das einfach laufen soll ...
Falls du Fragen hast oder irgendetwas nicht funktionieren sollte, dann melde dich einfach!