Script für Backup

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Script für Backup

Beitrag von Huck Fin » 07.04.2008 18:31:36

Hi,

hab mal ne Frage.
Ich will Daten anstatt auf Streamer auf Festplatte sichern.

1.) Subdir-1 (ca. 5 GB) 5x die Woche
Dafür habe ich mir was geschrieben.
Die Sicherung wird dann in ein Subdir mit aktuellem Datum abgelegt als data.tar.gz.
Habe auch noch ein weiteres Script, dass alles löscht, das älter als x Tage ist,
damit die Platte nicht voll läuft.
Aber was ist, wenn das Backup mehrfach scheitert und dann die alten Backups automatisch gelöscht werden.
Wie kann ich das verhindern ?

2.) Subdir-2 (ca. 45 GB) 1x voll (eventuell monatlich), dann nur noch veränderte Dateien.
Gibt es da ein Script, das rausfindet, welche Dateien neu sind ?

Bin für jeden Tip dankbar.

Benutzeravatar
Mr_Snede
Beiträge: 2323
Registriert: 08.07.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ruhrpott

Re: Script für Backup

Beitrag von Mr_Snede » 07.04.2008 19:10:25

Klar haben wir Tipps für dich:
--> http://wiki.debianforum.de/BackupTipps
Software Finder - Software in Kategorien Debian ohne Ballast - Tipps für ein schlankes Debian

Methusalix

Re: Script für Backup

Beitrag von Methusalix » 07.04.2008 22:43:43

Was hast Du Dir denn geschrieben? In der Bash geht z.B.:

Code: Alles auswählen

Befehl 1 && Befehl 2
Auf Dich umgerechnet heißt das: Lösche alte backups (Befehl 2) nur, wenn das
Anlegen eines neuen backups (Befehl 1) erfolgreich war.

zu 2.)
Huck Fin hat geschrieben:Gibt es da ein Script, das rausfindet, welche Dateien neu sind ?
Das ist die Aufgabe von Backup-Programmen! Ich benutze Dar.
man dar hat geschrieben:...But the most important feature of dar is its ability to make differential backups. In other words, backups that contain only new files or files that have changed from a backup of reference. ..
Von dar abgesehen gibt es da aber mindestens noch xx andere Lösungen.

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: Script für Backup

Beitrag von Huck Fin » 07.04.2008 22:54:42

Jo, danke
ich habe gerade rdiff-backup für mich entdeckt.
Sieht ganz gut aus.

Ich kämpf mich mal durch die Man..

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Script für Backup

Beitrag von Lohengrin » 07.04.2008 23:51:45

Ich habe vor ein paar Monaten etwas über Backuppc gelesen. Das klingt mir sehr vernünftig. Leider habe ich es bis jetzt noch nicht ausprobiert.
Das Beste daran ist die Identifizierung von Duplikaten mit Hülfe von schnell zu berechnende Prüfsummen. Bei Übereinstimmung kommt ein Compare, und wenn die Dateien gleich sind, wird ein Hardlink auf das Vorhandene gesetzt.
Die Backups sind Hardlink-Sammlungen, und die Daten liegen in einem Pool und heißen wie ihre Prüfsumme. Wenn nichts mehr auf etwas im Pool verweist, wird es gelöscht. Inkrementelle Backups sind wohl noch möglich, aber eigentlich überflüssig.
Das Ganze funktioniert nur, wenn man sofort auf den Pool zugreifen kann. Aber genau das ist bei Festplatte statt Band möglich.
Harry, hol schon mal das Rasiermesser!

Benutzeravatar
hkalegre
Beiträge: 286
Registriert: 11.11.2005 14:32:08

Re: Script für Backup

Beitrag von hkalegre » 08.04.2008 19:25:46

Nimm lieber rsync. Ich habe schlechte Erfahrung mit rdiff-backup nach Upgrade.
Die Versionen waren nicht (abwärts-) kompatibel.

Code: Alles auswählen

#! /bin/bash

UsrOK=`id -u`
if [[ $UsrOK != 0 ]] ; then
  echo "--- Programm bitte als root starten!"
    exit
fi

MPKT=/media/Backup/rsync-backups
BKD=`date +%Y-%m-%d`
hmdir=/home/blabla
log=$hmdir/rsync-backups.log
echo "$BKD  Kommentar:"
read comment
echo "$BKD   $comment" >>$log

echo "MBR nach /root sichern"
dd if=/dev/sda of=/root/mbr-backup bs=446 count=1
.....
echo "FS (root)"
echo "FS (root)" >>$log
rsync -avbx --backup-dir=$MPKT/Backup.dir_root/$BKD --delete --exclude-from=$hmdir/rdf-root-exclude.liste / $MPKT/root

echo "FS (var)"
echo "FS (var)" >>$log
rsync -avbx --backup-dir=$MPKT/Backup.dir_var/$BKD --delete --exclude-from=$hmdir/rdf-var-exclude.liste /var/ $MPKT/var
....

Antworten