WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   inhalt einer mysql-db automatisch exportieren!? (http://www.wcm.at/forum/showthread.php?t=149009)

Pulse-Seeker 31.10.2004 14:41

inhalt einer mysql-db automatisch exportieren!?
 
ich suche ein php-script das mir den inhalt einer mysql-db automatisch in ein textfile exportiert! wenn möglich sollte das script den export zu einer bestimmten uhrzeit von alleine ausführen!

ist das überhaupt möglich bzw gibts sowas?

waquner 31.10.2004 14:54

wenn du shell/root zugriff auf dem server hast sollte das so funzen glaub ich:

mysql db_name < /pfad/backup.txt

das ganze in die crontab rein und fertig...

waquner 31.10.2004 14:55

aso du wolltest ein php script, also neehm ich an keine sell zugang...


SQL Befehl:
SELECT * INTO OUTFILE 'backup.txt'
FIELDS TERMINATED BY ','
FROM tabellen_name;

Pulse-Seeker 31.10.2004 15:11

ist auch möglich ein script zu schreiben das den export automatisch übernimmt ohne das eine admin oder user die aktion starten muß?

waquner 31.10.2004 15:30

nein

du kannst es nur als cronjob eintragen.

oder, falls du eine häufig besuchte seite hast könntest du irgendwo in die hp scripts dort den export reinschreiben mit nem if davor ob er heut schon mal exportet hat.

wennn du dann aber mal einen tag keinen besucher hast, hast du von diesem tag kein backup....

Pulse-Seeker 31.10.2004 15:37

es sollte eigentlich schon reichen wenn ich das script in der seite einbau! denn wenn der inhalt in der db verändert wird dann besucht jemand die seite.

danke für die tipps! :)

p.s.: das war bis jetzt mein schnellster thread der gelöst wurde! :D

reichr 31.10.2004 19:21

hy.. würde mir auch nen cronjob einrichten!

mit folgendem script könntest dir die sicherung zB per mail zukommen lassen:

PHP-Code:

<?php
$username 
'';#user
$passwort '';#passort
$db_name '';#Name der Dantenbank
$filename date(d.'.'.m.'.'.Y);
$mail '';#deine Email Adresse
$Betreff "Backup der Datenbank $db_name vom $filename";

system('/usr/bin/mysqldump -u'.$username.' -p'.$passwort.' -h localhost '.$db_name.' | /bin/gzip > '.$filename.'.sql.gz'$fp);
if (
$fp==0) echo ''; else echo 'Es ist ein Fehler aufgetreten';
$filename_n $filename.'.sql.gz';
$Header "From: Backup System <$mail>";
$Trenner md5(uniqid(time()));
$Header .= "\n";
$Header .= "MIME-Version: 1.0";
$Header .= "\n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$Header .= "\n\n";
$Header .= "This is a multi-part message in MIME format";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: text/plain";
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: 8bit";
$Header .= "\n\n";
$Header .= "Backup der Datenbank $db_name vom $filename";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: application/x-gzip; name=$filename_n";
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=$filename_n";
$Header .= "\n\n";
$Dateiinhalt .= fread(fopen($filename_n"r"), filesize($filename_n));
$Header .= chunk_split(base64_encode($Dateiinhalt));
$Header .= "\n";
$Header .= "--$Trenner--";
mail($mail$Betreff""$Header);
?>

habe selbst dieses script erweiter um mir dies noch in nen backup ordner kopiert

waquner 31.10.2004 22:28

das script setzt aber vorraus das du mysqldump ausführne kannst.... bei meinem webspace geht das zB ned er macht dann einfach nix egal was ich ins system() oder exec() reinschreib!

reichr 01.11.2004 00:47

naja.. das is schlecht!
eventuelle lösungen:

- per mysql odbc datenbank auf lokalen pc sichern (vorraussetzung odbc zugriff erlaubt)
- dir selbst nen webserver lokal installieren und auf die mysql database zugreifen (vorraussetzung wär ne dba connection von nem externen server)

snowman 01.11.2004 12:18

http://www.webcron.org/index.php?&lang=de

Die Seite führt dir dein Skripts automatisch aus, wenn du keine Cron-Jobs machen kannst.

gruss,
snowman


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag