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

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 10.09.2004, 16:18   #1 (permalink)
Expert Mamber
 
lukewill's Avatar
 
Join Date: Apr 2004
Location: Germany
Posts: 475
lukewill is an unknown quantity at this point
Default Automatisches Backup der Datenbanken

Hallo,

ich habe für meinen Server ein kleines Backup-Shellscript geschrieben (bzw. ein vorhandenes Script erweitert). Das Script kann in die Crontab eingebunden werden und erstellt dann in dem gewählten Abstand Backups von beliebig vielen Datenbanken. Dabei wird immer zuerst versucht die Tabellen zu sperren und dann ein Backup zu erstellen, hat der User nicht die entsprechenden Rechte wird dennoch ein Backup erstellt. Den Zeitpunkt für das Backup sollte man so wählen, dass möglichst wenig Anwender gerade schreibend auf die DB zugreifen. Ich mache das bei mir z.B. immer um 1:00, aber das muss jeder selber wissen. Das Script löscht nach einer einstellbaren Zeit in Tagen alte Backups, somit wird der benötigte Platz auch nicht zu groß.

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
#
# MySQL Backup Script
# 
# von ccc (http://www.unixboard.de/vb3/member.php?u=1436)
# dumps Databases 
# 
# 
# changed by lukewill at mambogtt (.) de
#
#set -o xtrace

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

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

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

# mysql binaries are located here
MYSQLBIN=/usr/bin

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

# the maxium backup per day
MAXARCHIVDIRS=24

# older files where deleted
MAXHOLDDAYS=1

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

# DATABASES hold the triple DATABASENAME USER PASSWORD
# Example: mysql root secret
#DATABASES="db1 user_db1 pass1 db2 user_db2 pass2 test root 12345"

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


#################################
dump () {
	if [ -n  "$3" ] 
	then
		while [ -n "$1" ] 
		do
			DB=$1
			shift;
			[ -n "$1" ] || break
			USER=$1
			shift;
			[ -n "$1" ] || break
			PASS=$1
			echo "Backup Database $DB">>$LOG
  			if $MYSQLBIN/mysqldump -u $USER --password=$PASS --flush-logs --opt $DB 2>>$LOG > $DB
			then
				echo "BACKUP OK!">>$LOG
			else
				#FAIL
				if $MYSQLBIN/mysqldump -u $USER --password=$PASS $DB > $DB
				then
					echo "BACKUP OK!!">>$LOG
				else
					#FAIL
					echo "BACKUP FAIL !">>$LOG
				fi
			fi
			shift;
		done
	fi
}

#################################
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 $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

if test -x $MYSQLBIN/mysqldump
then
	dump $DATABASES
	clean
	zip
	echo "THE END">>$LOG
	echo "------------------------------------------------------------------------">>$LOG
else
     	echo "Backup failed: $MYSQLBIN/mysqldump not found or not executable!">>$LOG
	echo "------------------------------------------------------------------------">>$LOG
fi
Viele Grüße
L
__________________
- Viele Grüße - Best regards - Lukewill

Mambo e.V. |Das Mambobuch
lukewill is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Old 11.09.2004, 01:16   #2 (permalink)
Administrator
 
Join Date: Mar 2004
Posts: 807
Admin will become famous soon enough
Default Re: Automatisches Backup der Datenbanken

Danke für dieses nette Skript.

In dem Zusammenhang noch ein Hinweis auf die Backup Funktion in Mambo (4.5). Die in Mambo enthaltene Backup und Restore Funktion solltet ihr besser nicht zu Sicherung wichtiger Datenbanken nutzen. Die Funktion ist nicht sehr stabil und macht Fehler, wenn bestimmte Sonderzeichen in der Datenbank auftauchen.

Wer auf Nummer sicher gehen will nimmt auf jeden Fall den Unix Befehl mysqldump (so wie in obigem Skript) in einer Shell. Wer keinen Shellzugang hat, sollte besser phpMyAdmin nutzen als die Mambo interne Funktion.
__________________
Regards,
Arthur Konze
Webmaster @ Mamboportal.com - Mambers.com
Admin is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 02:06   #3 (permalink)
Senior Mamber
 
bfmusic's Avatar
 
Join Date: Aug 2004
Location: European Union
Posts: 119
bfmusic is on a distinguished road
Send a message via ICQ to bfmusic
Default Re: Automatisches Backup der Datenbanken

Hi,

also der thread von Arthur hat mich nun doch etwas beunruhigt bezüglich der möglichen Fehler bei der backup-funktion von mambo.
Wie kann ich denn nun einfach und vorallem sicher die Datenbank sichern?
Über mysqladmin, dann auf exportieren und alle tabellen auswählen?
Was muss da eingestellt werden?

Grüße
Bastian
bfmusic is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 02:10   #4 (permalink)
Professional Mamber
 
zorkhh's Avatar
 
Join Date: Apr 2004
Location: Northern Germany
Posts: 713
zorkhh is on a distinguished road
Default Re: Automatisches Backup der Datenbanken

Hallo,

für alle, die "von außen" auf die Datenbank zugreifen können (z.B. bei Allinkl) gibt es hier ein paar Skripte, um die Daten auf dem lokalen PC zu sichern. Diese Skripte können auch unbeaufsichtigt per Windows-Geplante-Tasks ausgeführt werden.

Gruß,

ZorkHH
__________________
News and stories around Joomla! PlanetJoomla.com
For individual Joomla-AddOns visit Joomlaexpert.com
zorkhh is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 02:13   #5 (permalink)
Senior Mamber
 
kunzi's Avatar
 
Join Date: Jun 2004
Location: Bremerhaven
Posts: 179
kunzi is on a distinguished road
Default Re: Automatisches Backup der Datenbanken

@bfmusic
Hallo,
viele Provider bieten Scripte zum Datenbankbackup und Restore an, wie z.B. domain*go. Mit dem Cronjob kann man dann einstellen, wie oft und wann man ein Backup bzw. Restore erstellen möchte.
Am besten mal bei Deinem Provider danach erkundigen.
__________________
warum das Rad 2x erfinden ?
have fun
Kunzi

KO Webservice & Internettechnologien
kunzi is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 02:27   #6 (permalink)
Professional Mamber
 
dot°NETt's Avatar
 
Join Date: Jul 2004
Posts: 660
dot°NETt will become famous soon enough
Default Re: Automatisches Backup der Datenbanken

Gibt ja immer viele Möglichkeiten - wichtig ist wohl vor allem, dass im Falle des Falles auch nach einem notwendigen Restore wieder genau das gleiche in der DB steht wie vorher.

Mit dem Script von lukewill sollte dies auf jeden Fall so sein (sicher, zum Einbau braucht man shell-Zugriff).
Dank an lukewill, weil: du hast mich daran erinnert, keine Nachlässigleiten zuzulassen (auch wenn viele meinen, Backups seien nur gut für Weicheier und Warmduscher >> wenn es passiert ist, ist das Geschrei i.d.R. groß).

cu dot°NETt
__________________
~~:: ... not available ... ::~~
dot°NETt is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 02:37   #7 (permalink)
Senior Mamber
 
bfmusic's Avatar
 
Join Date: Aug 2004
Location: European Union
Posts: 119
bfmusic is on a distinguished road
Send a message via ICQ to bfmusic
Default Re: Automatisches Backup der Datenbanken

Also es tut mir echt leid, mich hier als der absolut unwissende präsentieren zu müssen, aber was ist genau der SHELL-Zugang? ich gehe mal davon aus, dass ein "normaler" User nicht über einen solchen Zugang verfügt. Oder?
Wie kann denn ein einfacher MamboUser die Datenbank sichern und auch sicher sein das alles zu 100% vorhanden und richtig ist?


@ zorkhh
Habe diese Scripte mal runtergeladen. Aber wie nun weiter? Wo werden die Angaben zur Datenbank etc. gemacht? Und funktionieren diese Skripte einwandfrei?

Vielen Dank
Bastian
bfmusic is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 02:44   #8 (permalink)
Professional Mamber
 
zorkhh's Avatar
 
Join Date: Apr 2004
Location: Northern Germany
Posts: 713
zorkhh is on a distinguished road
Default Re: Automatisches Backup der Datenbanken

Hallo Bastian,

Du musst die Skripte editieren und Deine Zugangsdaten angeben:
Code:
z.B. SQLBACKUP.BAT

SET MYSQLHOST=Domain oder IP, unter der die DB erreicht werden kann
SET MYSQLUNAME=Dein DB_Username
SET MYSQLPASSWD=Dein Passwort
SET MYSQLDB=Name der Datenbank
Ich nutze eigentlich nur das SQLBACKUP-Script. Das funktioniert bei mir einwandfrei. Aber wie gesagt - Du mußt Zugriff auf die DB von außen haben. Die meisten Hoster erlauben das nicht.

Gruß,

ZorkHH
__________________
News and stories around Joomla! PlanetJoomla.com
For individual Joomla-AddOns visit Joomlaexpert.com
zorkhh is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 02:58   #9 (permalink)
Senior Mamber
 
bfmusic's Avatar
 
Join Date: Aug 2004
Location: European Union
Posts: 119
bfmusic is on a distinguished road
Send a message via ICQ to bfmusic
Default Re: Automatisches Backup der Datenbanken

Super! Habe das mal probiert und es klappt tatsächlich!
Wunderwerk der Technik!

@ zorkhh
Bis Du schon auf ein RESTORE angwiesen gewesen? Also kannst Du die Fehlerfreiheit bestätigen? Wenn Arthur nicht die interne Backup-Funktion von Mambo in Frage gestellt hätte, hätte ich mich auf diese Funktion vollends verlassen. Das hätte ja leicht ins Auge gehen können.


Vielen Dank für den Tip!

Viele Grüße
Bastian
bfmusic is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 11.09.2004, 04:00   #10 (permalink)
Professional Mamber
 
zorkhh's Avatar
 
Join Date: Apr 2004
Location: Northern Germany
Posts: 713
zorkhh is on a distinguished road
Default Re: Automatisches Backup der Datenbanken

Hallo,

ich bin zwar noch nicht auf einen Restore "angewiesen" gewesen, habe es aber bereits getestet. Lief ohne Probleme. Allerdings habe ich das nicht mit allen Eventualitäten getestet. Aber ich habe Sonderzeichen usw. in meinen Daten.

Vielleicht könnte Arthur ein paar weitere Infos über die Problemursachen (oder einen vorhandenen Thread mit dem Thema?) posten, damit wir das mal checken können.

Gruß, ZorkHH
__________________
News and stories around Joomla! PlanetJoomla.com
For individual Joomla-AddOns visit Joomlaexpert.com
zorkhh is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
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
Fun: Wie werde ich User des Monats? -peter- Smalltalk 24 20.08.2007 01:29
Mwst im Warenkorb und der Produktübersicht merida Komponenten 53 11.05.2005 10:07
phpShop: neues Bezahlsystem anlegen merida Komponenten 4 18.07.2004 21:56
automatisches freigeben der beiträge!? egomedia Mambo 4.5 Allgemein 2 09.07.2004 12:57
AT Foren / Abschied von AMU Admin Ankündigungen 0 20.06.2004 16:47


All times are GMT +2. The time now is 16:55.

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.