Skript zur Datensicherung

Freie Themenwahl.

Moderator: Moderator

Skript zur Datensicherung

Beitragvon ktmike » 21.01.2009, 21:41

Hallo!

Ich brauche ein Skript, welches mir ein bestimmtes Verzeichniss einmal die Woche sichert. Der Knackpunkt:
Dieses Skript soll am Ende einen Vergleich zwischen dem Original-Ordner und der gepackten Datei ziehen, und bei einer Abweichung eine Nachricht über echo abgeben,
dass die Sicherung eventuell fehlgeschlagen ist.

Soweit bin ich schon gekommen:

#!/bin/bash
filename=backup_$(echo $(date +%m.%d.%y)).tar.gz <--- legt fest, dass der Name des Backups aus "backup" + dem Tagesdatum besteht
tar-cfz /home/User/backup/$filename /var/www/ <---soll also den kompletten Ordner /www packen und in /home/user usw. abspeichern.

Funktioniert soweit auch. Aber wie ziehe ich nun den korrekten Vergleich? Gepackte Dateien haben ja eine andere Größe als die Original-Datei. Geht das eventuel über die Checksumme?

Vielen Dank für eure Hilfe!
ktmike
 
Beiträge: 3
Registriert: 21.01.2009, 21:32

Beitragvon Zappo » 21.01.2009, 22:53

Soweit ich weiß, kannst du das Archiv nicht direkt mit den originalen Daten vergleichen. Also wird dir nichts anderes übrig bleiben, als das Archiv wieder zu entpacken und dann diese Version mit dem Original zu vergleichen.
[img]http://www.boincstats.com/signature/user_6724.gif[/img]
Benutzeravatar
Zappo
 
Beiträge: 65
Registriert: 26.03.2008, 19:48
Lizenz: CC
Distribution: ArchLinux
Kernelversion: neueste

Beitragvon ktmike » 21.01.2009, 23:07

Ok, sollte zu schaffen sein. Und wie sähe dann so ein Vergleichsskript aus, welches die Größe und eventuel anzahl der darin enthaltenen Dateien vergleicht? (if und else)
ktmike
 
Beiträge: 3
Registriert: 21.01.2009, 21:32

Beitragvon Zappo » 21.01.2009, 23:22

Der Vergleich auf Anzahl und Größe der Dateien ist leider kein gutes Kriterium für die Vollständigkeit und Korrektheit des Backups. Du solltest dann schon irgendwelche Prüfsummen miteinander vergleichen. So grob umrissen könnte es dann folgendermaßen aussehen (also jetzt nur der Vergleich der beiden Dateien):
Code: Alles auswählen
find /var/www -type f | sort | xargs md5sum > /tmp/orig.md5sum
mkdir /tmp/backup
tar xf /home/User/backup/${filename} -C /tmp/backup
find /tmp/backup -type f | sort | xargs md5sum > /tmp/backup.md5sum
if ! cmp -s /tmp/{backup,orig}.md5sum; then
  # Fehler
fi
(dies ist wie oben geschrieben nur grob umrissen und nicht getestet).
[img]http://www.boincstats.com/signature/user_6724.gif[/img]
Benutzeravatar
Zappo
 
Beiträge: 65
Registriert: 26.03.2008, 19:48
Lizenz: CC
Distribution: ArchLinux
Kernelversion: neueste

Beitragvon ktmike » 21.01.2009, 23:51

Vielen Dank! Das ist schon mal ein Anfang!
Dann werd ich mich da nochmal dransetzen.

Sollte jemand noch einen Tip bezüglich der Prüfsummen haben, bin ich sehr dankbar!

Bin ich sowieso schon ;)
ktmike
 
Beiträge: 3
Registriert: 21.01.2009, 21:32


Zurück zu Alles was euch den Tag über bewegt...

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste

cron