Backup1

F

flugopa

Hallo,

hier mal mein erstes Backupskript (um ein paar Einstellungen zu sichern).
Weil ich immer noch Anfänger bin, könntet Ihr vielleicht mir einige Tips zur
Verbesserung des Backupscript geben?

Gibt es unter Linux so etwas wie eine Snapshot unter VMware?
Evtl. sollte man Linux aufsetzen ... dann VMware dann nochmal Linux drauf ??
Was meint Ihr?


Hier nun das Skript:

#!/bin/sh
DATUM=$(date +%d)

# Ja, es soll immer mit dem aktuellen Datum überschrieben werden, weil sich
# noch kein Linux die 30Tage Lebensgrenze überstanden hat. Anfänger eben.
echo -e "\n\n\tTagessicherung"

if [ ! -d /home/BACKUP ] ; then
mkdir -p /home/BACKUP
fi

if [ ! -d /home/BACKUP/$DATUM ] ; then
mkdir -p /home/BACKUP/$DATUM
fi

tar -cjf /home/BACKUP/$DATUM/$DATUM.bz2 /etc /TOOLS
echo -e "\n\tZip erstellt\n---------------------------------------------\n\n"

if [ ! -d /temp ]; then
mkdir -p /temp
fi

mount -t cifs //XP/BACKUP /temp -o user=username%password
cp /home/BACKUP/$DATUM/$DATUM.bz2 /temp
umount /temp
 
Hast du dir schonmal "rsync" angeschaut? Ich denke damit kannst du fast alles aus deinem Script mit einer Zeile realisieren.
 
Hast du dir schonmal "rsync" angeschaut? Ich denke damit kannst du fast alles aus deinem Script mit einer Zeile realisieren.

Allerdings koennte es Probleme geben, wenn das unterliegende Dateisystem (cifs ueber ntfs ??) die Attribute des Linux-Systems nicht unterstuetzt.

@flugopa:
Wenn Du genuegend Platz hast, ist das wohl ein ausreichendes Skript. Vielleicht solltest Du noch geschweifte Klammern um die Variablennamen setzen (obwohl die bash den '.' in $DATUM.tar.bz2 offenbar als Grenze erkennt). Ausserdem wuerde ich das Skript noch erweitern, indem ich die Zielpartition aushaengte, wiedereinhaengte und dann die Pruefsummen der beiden Dateien vergliche (md5sum, sha1sum, etc.).
 
Allerdings koennte es Probleme geben, wenn das unterliegende Dateisystem (cifs ueber ntfs ??) die Attribute des Linux-Systems nicht unterstuetzt.

@flugopa:
Wenn Du genuegend Platz hast, ist das wohl ein ausreichendes Skript. Vielleicht solltest Du noch geschweifte Klammern um die Variablennamen setzen (obwohl die bash den '.' in $DATUM.tar.bz2 offenbar als Grenze erkennt). Ausserdem wuerde ich das Skript noch erweitern, indem ich die Zielpartition aushaengte, wiedereinhaengte und dann die Pruefsummen der beiden Dateien vergliche (md5sum, sha1sum, etc.).


Hallo Rikola,

danke für Deine Anregung. Leider funktioniert etwas nicht.

# beide Prüfsummen sind identisch... trotzdem wird error gemeldet.Hm?


#!/bin/sh
clear
DATUM=$(date +%d)

echo -e "\n\n\tTagessicherung"
if [ ! -d /home/BACKUP ] ; then
mkdir -p /home/BACKUP
fi
if [ ! -d /home/BACKUP/$DATUM ] ; then
mkdir -p /home/BACKUP/$DATUM
fi

tar -cjf /home/BACKUP/$DATUM/$DATUM.bz2 /etc /TOOLS
echo -e "\n\tZip erstellt\n---------------------------------------------\n\n"

if [ ! -d /temp ]; then
mkdir -p /temp
fi

mount -t cifs //pc2400/BACKUP /temp -o user=username%passwd
cp /home/BACKUP/$DATUM/$DATUM.bz2 /temp
umount /temp

mount -t cifs //pc2400/BACKUP /temp -o user=username%passwd
if [ 'md5sum /home/BACKUP/$DATUM/$DATUM.bz2' != 'md5sum /temp/$DATUM.bz2' ]; then
echo -e "\n\tError"

md5sum /home/BACKUP/$DATUM/$DATUM.bz2
md5sum /temp/$DATUM.bz2
# beide Prüfsummen sind identisch... trotzdem wird error gemeldet.Hm?
read pause
fi
umount /temp
exit 0



Wer hat noch eine Idee?
 
Du vergleichst Zeichenketten, nicht die Resultate. Vermutlich wolltest Du backticks (`) benutzen statt ('). Versuche es mal mit
Code:
if [ $(md5sum /home/BACKUP/$DATUM/$DATUM.bz2 | awk '{print $1}') != $(md5sum /temp/$DATUM.bz2 | awk '{print $1}') ]; then
 
Du vergleichst Zeichenketten, nicht die Resultate. Vermutlich wolltest Du backticks (`) benutzen statt ('). Versuche es mal mit
Code:
if [ $(md5sum /home/BACKUP/$DATUM/$DATUM.bz2 | awk '{print $1}') != $(md5sum /temp/$DATUM.bz2 | awk '{print $1}') ]; then

Das ist die Lösung. Es funktioniert.

Nun würde ich gern noch das lokale Zip-File (Backupdatei) löschen wenn weniger als 15% Plattenplatz vorhanden ist.
Zerlegen der Ausgabe "df -H"?

Was meinst Du?
 

Ähnliche Themen

Verschlüsseltes Backup-Script mit rsync

script sshpass

HandbrakeCLI Shell Skript

Shellskript - Fehler in Cron

verzeichniss suche funktioniert nicht

Zurück
Oben