Members: 16,996
Threads: 38,845
Posts: 159,389
Online: 22

Newest Member: Kl_broka@rediffmail.com


Odoo.tv - Outdoor Television


Sedo - Domains kaufen und verkaufen das Projekt mambers.com steht zum Verkauf Besucherstatistiken von mambers.com etracker® Web-Controlling statt Logfile-Analyse

Go Back   Mambers.com > International > German - Deutsch > Mambo 4.5 Allgemein

Reply
 
LinkBack Thread Tools Display Modes
Old 06.10.2004, 10:28   #1 (permalink)
Expert Mamber
 
lukewill's Avatar
 
Join Date: Apr 2004
Location: Germany
Posts: 475
lukewill is an unknown quantity at this point
Default Automatischen Backup von Verzeichnissen/Mambosites

Hallo,

ich habe für meinen Server ein kleines Backup-Shellscript geschrieben. Das Script kann in die Crontab eingebunden werden und erstellt dann in dem gewählten Abstand Backups von beliebig vielen Verzeichnissen. Den Zeitpunkt für das Backup sollte man so wählen, dass möglichst wenig Anwender gerade schreibend zugreifen. Ich mache das bei mir z.B. immer um 1:12, aber das muss jeder selber wissen. Auf jeden Fall sollte man das Backup zeitlich nahe an dem Backup der Datenbanken durchführen (siehe: Automatisches Backup der Datenbanken). Das Script löscht nach einer einstellbaren Zeit in Tagen alte Backups, somit wird der benötigte Platz auch nicht zu groß.

Die Dateien bzw. die Verzeichnisse werden zuerst in einem tar-archiv gespeichert und dann gzipped. Das Gute an der Methode ist, das die Dateien dabei die Einstellungen bzgl. Zugriffsrechte und Owner behalten. Die Dateien werden nicht mit absolutem Pfad gespeichert, somit könnte man das Script auch für den Transport von Test- zu Produtiv-System nutzen. Dabei muss es natürlich auf dem Testsystem den gleichen Nutzer wie auf dem Produktivsystem geben.

Ihr müsst natürlich einige der Parameter an Eure Umgebung anpassen, ich hoffe das die Erläuterungen im Script ausreichend sind. Bei mir läuft das Script schon seit längerer Zeit ohne Probleme.

Code:
#!/bin/bash
#
# File Backup Script
# 
# 
# lukewill at mambogtt (.) de
#


####################################################
# please check the parameters below !!!

# logfile is saved here
LOG=/var/log/sitebackup.log

echo "------------------------------------------------------------------------">>$LOG
echo "`date`">>$LOG
echo "------------------------------------------------------------------------">>$LOG

# the backup are saved in this directory
DUMPDIR=/home/sitebackup 

# the maxium backup per day
MAXARCHIVDIRS=24

# older files where deleted
MAXHOLDDAYS=3

# we look for the compressing programm in this location
ZIPPROC=/usr/bin/gzip

# parameters for ZIPPROC
ZIPPP="--best"

# dir's to backup
DIR='/srv/www/htdocs/web99/sites/myMambosite
	/srv/www/htdocs/web99/sites/Testseite
	/srv/www/htdocs/web66/sites/demo.mambo.net

'
#
# STOP !  It is done. 
####################################################

tarit () {
	while [ -n "$1" ] 
	do
		d=$1
		shift;
		d=`echo $d|sed 's/\/$//'`
		cddir=`echo $d|sed 's/\/[^\/]*$//'`
		tardir=`echo $d|sed 's/^.*\///'`
			
		if [ -d $d ] 
		then	
			echo "Backup DIR #$d#">>$LOG
                                       if [ -n "$cddir" ]
                                       then
                                           cd $cddir
                                       else
                                           cd /
                                       fi
			
			tar cf - "$tardir" > $DUMPDIR/$ARCHIVDIR/$tardir.tar
		else
			echo "Fail $d">>$LOG	
		fi
	done
}


#################################
clean () {
	cd $DUMPDIR
	echo "delete: `find . -type d -mtime +$MAXHOLDDAYS -print`">>$LOG
	find . -type d -mtime +$MAXHOLDDAYS -print0|xargs -0 rm -rf 
}

#################################
zip () {
	cd $ARCHIVDIR
	if test -x $ZIPPROC
	then
		for n in *
		do
			$ZIPPROC $ZIPPP $n
		done
	fi
}

#################################

ARCHIVDIR=`date +%Y%m%d`
cd $DUMPDIR
i=1
if [ -d $ARCHIVDIR ]
then
        b="$ARCHIVDIR#$i"
        while [ -d $b ]
        do
                let i=i+1
                b="$ARCHIVDIR#$i"
                if [ $i -gt $MAXARCHIVDIRS ]
                then
                        echo "MAXARCHIVDIRS limit reached -> exit">>$LOG
                        exit 0
                fi
        done
        echo "ARCHIVDIR: $b">>$LOG
        ARCHIVDIR=$b
fi
mkdir $ARCHIVDIR
cd $ARCHIVDIR

# main
	tarit $DIR
	clean
	zip
	echo "THE END">>$LOG
	echo "------------------------------------------------------------------------">>$LOG
Wie packt man nun ein gesichertes Verzeichniss wieder aus?

Hat man z.B. /srv/www/htdocs/web99/sites/myMamboSite eingepackt. bekommt man ein file myMamboSite.tar.gz. Befindet man sich gerade in Verzeichnis /tmp und macht dann

cat /home/sitebackup/20041006/myMamboSite.tar.gz |gzip -d|tar xf -

bekommt man in dem Verzeichnis /tmp ein neues Verzeichnis myMamboSite und darin sind alle Dateien enthalten.
__________________
- Viele Grüße - Best regards - Lukewill

Mambo e.V. |Das Mambobuch

Last edited by lukewill; 06.10.2004 at 13:00. Reason: funktionierte nicht bei Verzeichnissen wie /etc /root
lukewill is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Ich kann Mambo nur von einem anderen Rechner aus installieren. Nich von meinem PC aus thefifa Installation 5 01.10.2004 18:15
Automatisches Backup der Datenbanken lukewill Mambo 4.5 Allgemein 48 25.09.2004 00:54
Newskomponente von Mambo - Wunschliste wolpertinger Komponenten 3 30.08.2004 12:53
Automatisches ändern von "Geschrieben von...." duplo2222 Mambo 4.5 Allgemein 0 28.08.2004 14:25
Nicht alle MOS seiten sehen gleich aus! mrjinx Mamboseiten 10 26.05.2004 15:12


All times are GMT +2. The time now is 19:41.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0
A vBSkinworks Design
© Copyright 2004-2008 by Arthur Konze Webdesign.