Hallo Mario

Am Sonntag, 27. Oktober 2002 23:54 schrieb Mario Duve:
> 
>
> #!/bin/sh
> FILE="/backup/filelist.daily"
>
> for file in $FILE ; do
>  if [ -f ${file} ]; then mv ${file} ${file}.`date -I`; fi
> done
>
> find /home -mtime -1 \! -type f -print > /backup/filelist.daily
> tar -cvz -T /backup/filelist.daily -f /backup/`date -I`.tar.gz
>
> exit 0

Das ganze macht keinen richtigen sinn weil sich in dem /home Verzeichniss eh 
jeden Tag etwas ver�ndert z.B. die ~/.bash_history und noch einige mehr. Ich 
bastele gerade selbst an einem Programm das auf einem Shell Skript basiert 
und Verschiedene Archive und Zip tool unters�tzen soll, das Problem einer 
solchen Funktion liegt darin das zuerst alle unwichtigen Dateien vom Backup 
ausgeschlo�en werden m��en, dies kannst Du bei tar mit der Option -X 'DATEI'. 
Ich w�rde es mal so probieren

#!/bin/sh
#
# Suche nach Dateien die in den letzten 24 Std ver�ndert wurden in /home
find /home -mtime -1 -type f 1> $$.tmp 2>> /dev/null
#
# �berr�fen ob sich etwas Ver�ndert hat
if [ -s "$$.tmp" ]
then
        diff DEINEDATEI $$.tmp 1> $$.tmp1 2>> /dev/null
else 
        rm $$.tmp 2>> /dev/null
        exit
fi
#
# DEINEDATEI  mu� eine Liste der Dateien mit vollem Pathnamen sein 
# (aufgebaut wie die von der find ausgabe) in der Dateien stehen die sich so
# und so ver�ndern ohne das Du ein Backup davon brauchst z.B. die bash_history
#
# Jetzt machen wir die Ausgebe von diff f�r tar lesbar
if [ -s "$$.tmp1" ]
then
        awk '$1~/^>/ {print $2} 1> $$.tmp2
else
        rm $$.tmp1 2>> /dev/null
        exit
fi
#
# Und jetzt zum Backup 
tar -cz -T $$.tmp2 -f DEINEBACKUPFILE 2> $$.tmp3
#
# DEINBACKUPFILE kannst Du hier wie oben auch mit `date -I` eintargen
#
# Zum schlu� schreiben wir uns noch eine Mail um zu sehen ob es auch geklappt 
# hat
# 
if [ -s "$$.tmp3" ]
then 
        {
        echo -e "Hier die Fehlermeldung von tar:\n"
        cat $$.tmp3 2>> /dev/null
        } 1> $$.tmp4
        mail DEINUSERNAME -s "Backup von Home mit Fehlermeldung" < $$.tmp4
else
        echo "das Backup war ohne Fehler" 1> $$.tmp4
        mail DEINUSERNAME -s "Backup von Home fehlerfrei" < $$.tmp4
fi
#
# DEINUSERNAME mu�t Du durch Deienen Benutzernamen ersetzen
#
# Jetzt l�schen wir noch die tempor�ren Dateien
rm $$.tm* 2>> /dev/null
#
# end of file

Die L�sung mit diff gef�llt mir zwar noch nicht so ganz aber wenn jemand eine 
Idee hat das zu verbessern w�re ich daran sehr interessiert. 

Gru� Kurt




-- 
H�ufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an