Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
backupscript hilfe
Gehen Sie zu Seite 1, 2  Weiter
 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arno
Gast





BeitragVerfasst am: 13. Apr 2003 20:37   Titel: backupscript hilfe

hi @all
habe mir ein backupscript gebastelt und hab da eine befehl für das fullbackup:

tar -czf $backdir/fullbac.www.$Wochentag.$Datum.tar.gz>>$logdir/backup.log $wwwdir

bei dem ich den tar vorgang in ein logfile schreiben will.
das funktioniert aber nicht. bei den anderen befehlen zb.:

find /etc -mtime -3 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.etc.$Wochentag.$Datum.tar.gz>>$logdir/backup.log

funktioniert es.(grübel, wo liegt der fehler. bin leider scriptanfänger)

das 2.Problem wäre das das log ein einer wurscht geschrieben wird und ich nicht sehe wann das backup vom nächsten tag anfängt.
hat da vielleicht jemand eine tip wie ich das bewerkstelligen kann?

hier ist das ganze script nocheinmal(vielen dank im voraus):

#!/bin/sh


export LANG=de_DE.ISO-8859-1


Datum=$(date +%d%m%Y);
Wochentag=$(date +%A);
Tag=$(date +%w);
logdir=/var/log/backup
backdir=/mnt/zip/backup
wwwdir="/var/www/ /var/log"
#smbmount //Windows2kRechner/backup /backup -o
#username=Test,password=Test
fullbackup()
{

tar -czf $backdir/fullbac.etc.$Wochentag.$Datum.tar.gz /etc>>/$logdir/backup.log
tar -czf $backdir/fullbac.home.$Wochentag.$Datum.tar.gz /home >>/var/log/backup/backup.log1
tar -czf $backdir/fullbac.www.$Wochentag.$Datum.tar.gz>>$logdir/backup.log $wwwdir

}
weekend()
{
find /etc -mtime -3 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.etc.$Wochentag.$Datum.tar.gz>>$logdir/backup.log

find /home -mtime -3 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.home.$Wochentag.$Datum.tar.gz >>$logdir/backup.log

find $wwwdir -mtime -3 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.www.$Wochentag.$Datum.tar.gz >>$logdir/backup.log
}
incremental()
{

find /etc -mtime -1 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.etc.$Wochentag.$Datum.tar.gz >>$logdir/backup.log
#2>&1 | tee /tmp/back.log

find /home -mtime -1 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.home.$Wochentag.$Datum.tar.gz >>$logdir/backup.log


find $wwwdir -mtime -1 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.www.$Wochentag.$Datum.tar.gz >>$logdir/backup.log
}

if [ "$Wochentag" == "Dienstag" ]
then echo Fullbackup erzeugen;
fullbackup
elif [ "$Wochentag" == "Montag" ]
then echo Weekendbackup erzeugen;
weekend
else [ "$Wochentag" != "Freitag" ]
echo Incremetales Backup erzeugen;
incremental
fi
#umount /backup
exit



mfg
arno
 

max



Anmeldungsdatum: 14.05.2000
Beiträge: 806
Wohnort: Ruhrpott

BeitragVerfasst am: 14. Apr 2003 7:09   Titel: Re: backupscript hilfe

um in den Logs optisch zu trennen nutze ich oft so was:

echo "Backup vvon Rechner xy $Datum $Uhrzeit" >> $LOG
Damit du auch Fehler mitloggst solltest du den Fehlerausgabekanal in die Standardausgabe umlenken:
befehl >> $LOG 2>&1

die Kanäle sind durchnummeriert, man kann auch eigene aufmachen, vor einen ">" sollte man sich einfach eine "1" denken.
Das ist der Standardausgabekanal den lenkt man mit sowas, statt auf den Bildschirm in eine Datei.
befehl 1> $DATEI
"2>" in "2" landen die Fehlermeldungen und ein 2>&1 gibt die Ausgabe des 2. Kanals in den 1.

Zu deinen PRoblem:
baue mal bitte ein echo $Datum und echo $Wochentag ein.

Habe die Vermutung das diese nicht stimmen.

Gruss Max
 
Benutzer-Profile anzeigen Private Nachricht senden

arno
Gast





BeitragVerfasst am: 14. Apr 2003 8:46   Titel: Re: backupscript hilfe

@max danke für die tips mit der fehlerumleitung.
das mit dem datum ist es glaub ich nicht bei einem echo bekomm ich am anfang das datum gesagt und die anderen backups legt es auch mit:
fullbac.etc.Sonntag.13042003.tar.gz
an.
werde mal bischen weiter basteln hab ja grad wieder was gelernt was ich gleich testen muss *gg*
noch eine frage zu den kanälen?
wieviele giebt es da überhaupt oder sind es eh nur 2?

vielen dank im voraus
arno
 

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 9:24   Titel: Re: backupscript hilfe

und etwas schoener schreiben:

code:

#!/bin/sh

LANG='de_DE.ISO-8859-1'

Datum='$(date +%d%m%Y)'
Wochentag='$(date +%A)'
Tag='$(date +%w)'
logdir=/var/log/backup
backdir=/mnt/zip/backup
wwwdir='/var/www/ /var/log'
#smbmount //Windows2kRechner/backup /backup -o
#username=Test,password=Test

lock
{
if [ $(id -u) -ne 0 ]
then
echo 'Error: permission denied (user is not root)'
exit 1
fi

if [ -e /var/lock/backup.lock ]
then
echo 'Error: process locked (backup is already running)'
exit 1
fi

trap 'test -e /var/lock/backup.lock && rm -f /var/lock/backup.lock; exit 0' 0 2 15
touch /var/lock/backup.lock
}

fullbackup()
{
tar cfz $backdir/fullbac.etc.$Wochentag.$Datum.tar.gz /etc >> /$logdir/backup.log
tar cfz $backdir/fullbac.home.$Wochentag.$Datum.tar.gz /home >> /var/log/backup/backup.log1
tar cfz $backdir/fullbac.www.$Wochentag.$Datum.tar.gz >> $logdir/backup.log $wwwdir
}

weekend()
{
find /etc -mtime -3 -type f > /etc/backup/backup.log
tar cfvzp -T /etc/backup/backup.log \
$backdir/incremental.etc.$Wochentag.$Datum.tar.gz >> $logdir/backup.log

find /home -mtime -3 -type f > /etc/backup/backup.log
tar cfvzp -T /etc/backup/backup.log \
$backdir/incremental.home.$Wochentag.$Datum.tar.gz >> $logdir/backup.log

find $wwwdir -mtime -3 -type f > /etc/backup/backup.log
tar cfvzp -T /etc/backup/backup.log \
$backdir/incremental.www.$Wochentag.$Datum.tar.gz >> $logdir/backup.log
}

incremental()
{
find /etc -mtime -1 -type f > /etc/backup/backup.log
tar cfvzp -T /etc/backup/backup.log \
$backdir/incremental.etc.$Wochentag.$Datum.tar.gz >> $logdir/backup.log
#2>&1 | tee /tmp/back.log

find /home -mtime -1 -type f > /etc/backup/backup.log
tar cfvzp -T /etc/backup/backup.log \
$backdir/incremental.home.$Wochentag.$Datum.tar.gz >> $logdir/backup.log

find $wwwdir -mtime -1 -type f > /etc/backup/backup.log
tar cfvz -T /etc/backup/backup.log \
$backdir/incremental.www.$Wochentag.$Datum.tar.gz >> $logdir/backup.log
}

main()
{
lock

if [ "$Wochentag" == 'Dienstag' ]
then
echo 'Fullbackup erzeugen'
fullbackup
elif [ "$Wochentag" == 'Montag' ]
then
echo 'Weekendbackup erzeugen'
weekend
else [ "$Wochentag" != 'Freitag' ]
echo 'Incremetales Backup erzeugen'
incremental
fi

#umount /backup

exit 0
}

main

 

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 9:47   Titel: Re: backupscript hilfe

und noch etwas schoener:
[code]
#!/bin/sh

LANG='de_DE.ISO-8859-1'

DATUM='$(date +%d%m%Y)'
TAG='$(date +%w)'
WOCHENTAG='$(date +%A)'
DIRECTORY_BACKUP=/mnt/zip/backup
DIRECTORY_LOG=/var/log/backup
DIRECTORY_WWW=/var/www/

#smbmount //Windows2kRechner/backup /backup -o
#username=Test,password=Test

lock
{
if [ $(id -u) -ne 0 ]
then
echo 'Error: permission denied (user is not root)'
exit 1
fi

if [ -e /var/lock/backup.lock ]
then
echo 'Error: process locked (backup is already running)'
exit 1
fi

trap 'test -e /var/lock/backup.lock && rm -f /var/lock/backup.lock; exit 0' 0 2 15
touch /var/lock/backup.lock
}

backup_full()
{
tar cfz $DIRECTORY_BACKUP/fullbackup.$2.$WOCHENTAG.$DATUM.tar.gz $1 >> $DIRECTORY_LOG/backup.$2.log
}

backup_weekend()
{
find $1 -mtime -3 -type f > /tmp/backup.log
tar cfvzp -T /tmp/backup.log \
$DIRECTORY_BACKUP/incremential.$2.$WOCHENTAG.$DATUM.tar.gz >> $DIRECTORY_LOG/backup.$2.log
rm -f /tmp/backup.log
}

backup_incremental()
{
find $1 -mtime -1 -type f > /tmp/backup.log
tar cfvzp -T /tmp/backup.log \
$DIRECTORY_BACKUP/incremental.$2.$WOCHENTAG.$DATUM.tar.gz >> $DIRECTORY_LOG/backup.$2.log
rm -f /tmp/backup.log
}

main()
{
lock

if [ "$WOCHENTAG" == 'Montag' ]
then
echo 'Weekendbackup erzeugen'
BACKUP=weekend
elif [ "$WOCHENTAG" == 'Dienstag' ]
then
echo 'Fullbackup erzeugen'
BACKUP=full
else [ "$WOCHENTAG" != 'Freitag' ]
echo 'Incremetales Backup erzeugen'
BACKUP=incremental
fi

backup_$BACKUP /etc etc
backup_$BACKUP /home home
backup_$BACKUP /var/www
backup_$BACKUP /var/log www-log

#umount /backup

exit 0
}

main
 

max



Anmeldungsdatum: 14.05.2000
Beiträge: 806
Wohnort: Ruhrpott

BeitragVerfasst am: 14. Apr 2003 9:51   Titel: Re: backupscript hilfe

@Panthera
schönes Skript!
Allerdings sollte man jetzt noch die Fehler mitloggen, abfragen ob Medium gemountet und evt. die Rückgabewerte der Subroutinen abfangen;-)

Ich meine etwas von 7 oder 15 im Hinterkopf zu haben.
< ;0< = Standardeingabe
> ;1> = Standardausgabe
2> = Standardfehlerausgabe

Du solltest die nur Pipes "|" und "tee" - um T-Stücke in Pipes einzubauen - angucken.

Wie man weitere öffnet weiss ich jetzt nicht mehr genau, (exec?)
Finde im Moment auch die Quelle nicht mehr. Was aber auch daran liegt das man es wirklich fast nie braucht.
Die Doku zur bash gibt dir bestimmt noch _viele_ Infos...
 
Benutzer-Profile anzeigen Private Nachricht senden

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 10:09   Titel: Re: backupscript hilfe

aller guten dinge sind drei:
code:

#!/bin/sh

LANG='de_DE.ISO-8859-1'

DATUM='$(date +%d%m%Y)'
TAG='$(date +%w)'
WOCHENTAG='$(date +%A)'
UHRZEIT='$(date +%H%M)'

DIRECTORY_BACKUP=/backup
DIRECTORY_LOG=/var/log/backup
DIRECTORY_WWW=/var/www/

lock
{
if [ $(id -u) -ne 0 ]
then
echo 'Error: permission denied (user is not root)'
exit 1
fi

if [ -e /var/lock/backup.lock ]
then
echo 'Error: process locked (backup is already running)'
exit 1
fi

trap 'test -e /var/lock/backup.lock && rm -f /var/lock/backup.lock; exit 0' 0 2 15
touch /var/lock/backup.lock
}

backup_full()
{
echo 'Fullbackup erzeugen'
echo "Backup: $DATUM $UHRZEIT" >> $DIRECTORY_LOG/backup.$2.log 2>&1

tar cfz $DIRECTORY_BACKUP/fullbackup.$2.$WOCHENTAG.$DATUM.tar.gz $1 >> $DIRECTORY_LOG/backup.$2.log 2>&1
}

backup_weekend()
{
echo 'Weekendbackup erzeugen'
echo "Backup: $DATUM $UHRZEIT" >> $DIRECTORY_LOG/backup.$2.log 2>&1

find $1 -mtime -3 -type f > /var/cache/backup.log
tar cfvzp -T /var/cache/backup.log \
$DIRECTORY_BACKUP/incremental.$2.$WOCHENTAG.$DATUM.tar.gz >> $DIRECTORY_LOG/backup.$2.log 2>&1
}

backup_incremental()
{
echo 'Incremetales Backup erzeugen'
echo "Backup: $DATUM $UHRZEIT" >> $DIRECTORY_LOG/backup.$2.log 2>&1

find $1 -mtime -1 -type f > /var/cache/backup.log
tar cfvzp -T /var/cache/backup.log \
$DIRECTORY_BACKUP/incremental.$2.$WOCHENTAG.$DATUM.tar.gz >> $DIRECTORY_LOG/backup.$2.log 2>&1
}

backup()
{
if [ "$WOCHENTAG" == 'Montag' ]
then
BACKUP=weekend
elif [ "$WOCHENTAG" == 'Dienstag' ]
then
BACKUP=full
else [ "$WOCHENTAG" != 'Freitag' ]
BACKUP=incremental
fi

backup_$BACKUP /etc etc
backup_$BACKUP /home home
backup_$BACKUP /var/www www
backup_$BACKUP /var/log www-log
}


main()
{
lock

case $1 in
zip)
mount /dev/sda4 /backup &&
backup
;;

samba)
smbmount //Windows2kRechner /backup /backup -o username=Text,password=Test &&
backup
;;
*)
echo "Usage: $0 {zip,samba}"
exit 1
esac
exit 0
}

main $1

 

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 10:17   Titel: Re: backupscript hilfe

*grr,
code:

main()
{
lock

case $1 in
zip)
mount /dev/sda4 $DIRECTORY_BACKUP &&
backup
;;

samba)
smbmount //Windows2kRechner/backup $DIRECTORY_BACKUP -o username=Text,password=Test &&
backup
;;
*)
echo "Usage: $0 {zip,samba}"
exit 1
esac
exit 0
}

 

arno
Gast





BeitragVerfasst am: 14. Apr 2003 10:40   Titel: Re: backupscript hilfe

@panthera
@max
moment mal nicht so schnell da komm ich nicht mehr mit *gg*
aber danke was da grad aus meinem script wird.
wahnsinn was ich da grad alles lern.

mfg arno
 

arno
Gast





BeitragVerfasst am: 14. Apr 2003 10:54   Titel: Re: backupscript hilfe

@panthera
mein originalscript ist eh schöner geschrieben.
hab da eine frage zum ziplaufwerk.
ich backup auch auf ein zip.
die zipmodule lade ich mit dem befehl
modprobe imm
wenn ich aber jetzt quotas drauf machen will muss ich die module fix in den kernelkompilieren damit
ich das zip in die fstab eintragen kann?
oder kann ich gleich im lilo sagen das er sie laden soll??

@max
>>Die Doku zur bash gibt dir bestimmt noch _viele_ Infos
ja viel zu viele infos *gg*

danke

mfg arno
 

arno
Gast





BeitragVerfasst am: 14. Apr 2003 11:37   Titel: Re: backupscript hilfe

hi
komisch bei mir kommt wenn ich das script aufrufe die fehlermeldung:
./backup: lock: command not found
kann doch eigentlich nicht sein oder??

#!/bin/sh


export LANG=de_DE.ISO-8859-1


Datum=$(date +%d%m%Y);
Wochentag=$(date +%A);
Tag=$(date +%w);
Uhr=$(date +%T);
logdir=/var/log/backup
backdir=/mnt/zip/backup
wwwdir="/var/www/ /var/log"
#smbmount //Windows2kRechner/backup /backup -o
#username=Test,password=Test
#echo "#########################################" >>$logdir/backup.log
#echo "######### Backup von TEST-Server ########" >>$logdir/backup.log
#echo "###############" $Wochentag $Uhr "#######" >>$logdir/backup.log
#echo "#################" $Datum "##############" >>$logdir/backup.log
#echo "#########################################" >>$logdir/backup.log

lock
{
if [ $(id -u) -ne 0 ]
then
echo 'Error: permission denied (user is not root)'
exit 1
fi

if [ -e /var/lock/backup.lock ]
then
echo 'Error: process locked (backup is already running)'
exit 1
fi

trap 'test -e /var/lock/backup.lock && rm -f /var/lock/backup.lock; exit 0' 0 2 15
touch /var/lock/backup.lock
}
fullbackup()
{
tar -czf $backdir/fullbac.etc.$Wochentag.$Datum.tar.gz /etc >>$logdir/backup.log
tar -czf $backdir/fullbac.home.$Wochentag.$Datum.tar.gz /home >>$logdir/backup.log
tar -czf $backdir/fullbac.www.$Wochentag.$Datum.tar.gz>>$logdir/backup.log $wwwdir

}



weekend()


{


find /etc -mtime -3 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.etc.$Wochentag.$Datum.tar.gz>>$logdir/backup.log



find /home -mtime -3 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.home.$Wochentag.$Datum.tar.gz >>$logdir/backup.log

find $wwwdir -mtime -3 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.www.$Wochentag.$Datum.tar.gz >>$logdir/backup.log


}




incremental()


{
find /etc -mtime -1 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.etc.$Wochentag.$Datum.tar.gz >>$logdir/backup.log 2>&1
#2>&1 | tee /tmp/back.log



find /home -mtime -1 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.home.$Wochentag.$Datum.tar.gz >>$logdir/backup.log 2>&1


find $wwwdir -mtime -1 -type f > /etc/backup/backup.log
tar -c -T /etc/backup/backup.log -v -z -p -f \
$backdir/incremental.www.$Wochentag.$Datum.tar.gz >>$logdir/backup.log 2>&1
}


main()
{
lock
if [ "$Wochentag" == "Dienstag" ]


then echo Fullbackup erzeugen;
fullbackup


elif [ "$Wochentag" == "Sonntag" ]


then echo Weekendbackup erzeugen;
weekend


else [ "$Wochentag" != "Freitag" ]


echo Incremetales Backup erzeugen;
fi



#umount /backup


exit 0
}
main


nochmals vielen
dank

arno
 

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 11:42   Titel: Re: backupscript hilfe

arno: s/tar -c -v -z -p -f/tar cfvzp/g

wenn du kmod (CONFIG_KMOD=y) verwendest, werdend die module automagisch geladen (falls du sie unbedingt beim systemstart laden willst, modconf oder vi /etc/modules.conf).
quota haengt nicht davon ab, ob ein device- oder fs-treiber modul oder einkompiliert ist und
die fstab ist nur eine erleichterung, damit nicht alle optionen fuer haeufig verwende devices immer wieder eingegeben werden muessen.
 

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 11:49   Titel: Re: backupscript hilfe

typo: s/lock/lock()/

nimm das hier anstatt deinem,
wenn du was pastest, nimm (code)(/code) (runde durch ekige klammern ersetzen), sonst kann man das fast nicht lesen.

code:

#!/bin/sh

LANG='de_DE.ISO-8859-1'

DATUM='$(date +%d%m%Y)'
TAG='$(date +%w)'
WOCHENTAG='$(date +%A)'
UHRZEIT='$(date +%H%M)'

DIRECTORY_BACKUP=/backup
DIRECTORY_LOG=/var/log/backup
DIRECTORY_WWW=/var/www/

lock()
{
if [ $(id -u) -ne 0 ]
then
echo 'Error: permission denied (user is not root)'
exit 1
fi

if [ -e /var/lock/backup.lock ]
then
echo 'Error: process locked (backup is already running)'
exit 1
fi

trap 'test -e /var/lock/backup.lock && rm -f /var/lock/backup.lock; exit 0' 0 2 15
touch /var/lock/backup.lock
}

backup_full()
{
echo 'Fullbackup erzeugen'
echo "Backup: $DATUM $UHRZEIT" >> $DIRECTORY_LOG/backup.$2.log 2>&1

tar cfz $DIRECTORY_BACKUP/fullbackup.$2.$WOCHENTAG.$DATUM.tar.gz $1 >> $DIRECTORY_LOG/backup.$2.log 2>&1
}

backup_weekend()
{
echo 'Weekendbackup erzeugen'
echo "Backup: $DATUM $UHRZEIT" >> $DIRECTORY_LOG/backup.$2.log 2>&1

find $1 -mtime -3 -type f > /var/cache/backup.log
tar cfvzp -T /var/cache/backup.log \
$DIRECTORY_BACKUP/incremental.$2.$WOCHENTAG.$DATUM.tar.gz >> $DIRECTORY_LOG/backup.$2.log 2>&1
}

backup_incremental()
{
echo 'Incremetales Backup erzeugen'
echo "Backup: $DATUM $UHRZEIT" >> $DIRECTORY_LOG/backup.$2.log 2>&1

find $1 -mtime -1 -type f > /var/cache/backup.log
tar cfvzp -T /var/cache/backup.log \
$DIRECTORY_BACKUP/incremental.$2.$WOCHENTAG.$DATUM.tar.gz >> $DIRECTORY_LOG/backup.$2.log 2>&1
}

backup()
{
if [ "$WOCHENTAG" == 'Montag' ]
then
BACKUP=weekend
elif [ "$WOCHENTAG" == 'Dienstag' ]
then
BACKUP=full
else [ "$WOCHENTAG" != 'Freitag' ]
BACKUP=incremental
fi

backup_$BACKUP /etc etc
backup_$BACKUP /var/www www
}


main()
{
lock

case $1 in
zip)
mount /dev/sda4 $DIRECTORY_BACKUP &&
backup
;;

samba)
smbmount //Windows2kRechner/backup $DIRECTORY_BACKUP -o username=Text,password=Test &&
backup
;;
*)
echo "Usage: $0 {zip,samba}"
exit 1
esac
exit 0
}

main $1

 

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 11:51   Titel: Re: backupscript hilfe

*grr, vielleicht sollte man auf irc ausweichen Smile
irc.freenode.net #debian.de (bis 14:00, ansonsten morgen wieder)

code:

backup()
{
if [ "$WOCHENTAG" == 'Montag' ]
then
BACKUP=weekend
elif [ "$WOCHENTAG" == 'Dienstag' ]
then
BACKUP=full
else [ "$WOCHENTAG" != 'Freitag' ]
BACKUP=incremental
fi

backup_$BACKUP /etc etc
backup_$BACKUP /home home
backup_$BACKUP /var/www www
backup_$BACKUP /var/log www-log
}

 

panthera
Gast





BeitragVerfasst am: 14. Apr 2003 12:54   Titel: Re: backupscript hilfe

so, das letzte. im gegensatz zu den anderen funktioniert dieses einwandfrei (das 'removing /' von tar kannst du ignorieren).

code:

#!/bin/sh

LANG=de_DE

DATUM=`date -I`
WOCHENTAG=`date +%A`
ZEIT=`date +%c`

DIRECTORY_BACKUP=/backup
DIRECTORY_LOG=/var/log/backup

if [ ! -d $DIRECTORY_BACKUP ]
then
mkdir -p $DIRECTORY_BACKUP
fi

if [ ! -d $DIRECTORY_LOG ]
then
mkdir -p $DIRECTORY_LOG
fi

lock()
{
if [ $(id -u) -ne 0 ]
then
echo 'Error: permission denied (user is not root)'
exit 1
fi

if [ -e /var/lock/backup.lock ]
then
echo 'Error: process locked (backup is already running)'
exit 1
fi

trap 'test -e /var/lock/backup.lock && rm -f /var/lock/backup.lock; exit 0' 0 2 15
touch /var/lock/backup.lock
}

backup()
{
if [ "$WOCHENTAG" == 'Montag' ]
then
BACKUP=weekend
elif [ "$WOCHENTAG" == 'Dienstag' ]
then
BACKUP=full
else [ "$WOCHENTAG" != 'Freitag' ]
BACKUP=incremental
fi

backup_$BACKUP /etc etc
backup_$BACKUP /home home
backup_$BACKUP /var/www www
backup_$BACKUP /var/log www-log
}

backup_full()
{
echo 'Fullbackup erzeugen'
echo "Full Backup: $ZEIT" >> $DIRECTORY_LOG/backup.$2.log

tar cfvzp $DIRECTORY_BACKUP/fullbackup-$2.$DATUM-$WOCHENTAG.tar.gz $1 >> $DIRECTORY_LOG/backup.$2.log >&1
}

backup_weekend()
{
echo 'Weekendbackup erzeugen'
echo "Incrementelles (Weekend) Backup: $ZEIT" >> $DIRECTORY_LOG/backup.$2.log

find $1 -mtime -3 -type f > /var/cache/backup.log
tar cfvzp $DIRECTORY_BACKUP/incremental-$2.$DATUM-$WOCHENTAG.tar.gz -T /var/cache/backup.log >> $DIRECTORY_LOG/backup.$2.log >&1
rm -f /var/log/backup.log
}

backup_incremental()
{
echo 'Incrementelles Backup erzeugen'
echo "Incrementelles Backup: $ZEIT" >> $DIRECTORY_LOG/backup.$2.log

find $1 -mtime -1 -type f > /var/cache/backup.log
tar cfvzp $DIRECTORY_BACKUP/incremental-$2-$DATUM-$WOCHENTAG.tar.gz -T /var/cache/backup.log >> $DIRECTORY_LOG/backup.$2.log >&1
rm -f /var/log/backup.log
}

main()
{
lock

case $1 in
zip)
mount /dev/sda4 $DIRECTORY_BACKUP &&
backup
;;

samba)
smbmount //Windows2kRechner/backup $DIRECTORY_BACKUP -o username=Text,password=Test &&
backup
;;
*)
echo "Usage: $0 {zip,samba}"
exit 1
esac

umount $DIRECTORY_BACKUP

exit 0
}

main $1

 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Gehen Sie zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy