Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Mysql Rücksicherung per PHP bzw. Cronjob

Mitglied: 8schpi

8schpi (Level 1) - Jetzt verbinden

24.12.2008, aktualisiert 18:47 Uhr, 7229 Aufrufe, 9 Kommentare

Rücksicherung einer Mysql Datenbank automatisieren.

Frohe Weihnachten allerseits.

Ich möchte eine Datenbank automatisch (per CronScript) rücksichern. Zweck der Übung ist, dass ich eine Demoumgebung haben möchte, die quasi alle 24 Stunden zurückgesetzt wird. Dazu soll ein vorher erstellter Dump der Datenbank per CronScript zurückgesichert werden. Ich habe schon folgendes Ausprobiert:
01.
      <?php 
02.
      exec('mysql -u dbuser -p dbname < ./dump.sql'); 
03.
      ?>
Leider funktioniert das nicht. Der Webhoster ist All-inkl. Ich habe natürlich Zugriff auf CronJobs. Die PHP Datei oben soll der Cronjob werden...
Hat jemand eine Idee? Danke.
Mitglied: EvilMoe
24.12.2008 um 18:57 Uhr
Warum nicht einfach so. Warum dein Versuch nicht funktioniert denke ich mal das du kein Zugriff auf "exec" haben wirst.

01.
<? 
02.
 mysql_connect('localhost', 'name', 'passwort'); 
03.
 mysql_select_db('dbname'); 
04.
 mysql_query(readfile('./dump.sql')); 
05.
?>
Bitte warten ..
Mitglied: 8schpi
25.12.2008 um 10:53 Uhr
Zugriff auf exec() habe ich (http://www.all-inkl.de/index.php?open=faq&sek=wichtig&session_i ... unter Punkt 5). Ein weiteres Problem dass ich habe ist, dass ich auch die automatische Sicherung per Perl und Mysqldumper nicht hinbekomme. Wahrscheinlich hat beides die gleiche Ursache.
Sobald ich zuhause bin werde ich das obige Beispiel ausprobieren. Woher erfahre ich eigentlich worauf ich genau Zugriff habe, bzw. welche Fehlermeldungen ausgegeben werden?
Bitte warten ..
Mitglied: 8schpi
25.12.2008 um 22:45 Uhr
Also ich habe die obigen Zeilen mal ausprobiert. Ich bekomme jetzt den Inhalt von der dump.sql Datei beim Aufruf der PHP Datei angezeigt. Warum wird der Inhalt der Datei nicht in die Tabelle eingefügt, sondern auf dem Bildschirm angezeigt?
Bitte warten ..
Mitglied: EvilMoe
25.12.2008 um 22:54 Uhr
Zitat von 8schpi:
Also ich habe die obigen Zeilen mal ausprobiert. Ich bekomme jetzt den
Inhalt von der dump.sql Datei beim Aufruf der PHP Datei angezeigt.
Warum wird der Inhalt der Datei nicht in die Tabelle eingefügt,
sondern auf dem Bildschirm angezeigt?

Sorry, readfile gibt den Inhalt sofort aus und nicht als Rückgabewert. Ersetze mal readfile gegen file_get_contents.

Auch wenn du Zugriff auf exec hast halte ich das zur Rücksicherung in diesem Fall nicht notwenig da PHP die nötigen Funktionen bietet.

Woruaf man Zugriff hat? Naja ausprobieren^^ oder mit phpinfo nachgucken welche Module geladen sind. Fehlermeldungen kann man sich anzeigen lassen indem man am Anfang der PHP Datei schreibt: error_reporting(E_ALL);

Damit werden alle Fehler/Warnungen angezeigt. Hoffe ich habe die Frage richtig verstanden...
Bitte warten ..
Mitglied: 8schpi
25.12.2008 um 23:23 Uhr
ok, das "restore-skript" sieht jetzt so aus:
01.
<? 
02.
 
03.
mysql_connect('localhost', 'user', 'passwort'); 
04.
mysql_select_db('dbname'); 
05.
mysql_query(file_get_contents('pfad_zur_sql_datei')); 
06.
 
07.
?>
ich bekomme den inhalt der datei jetzt nicht mehr angezeigt. es wird gar nichts mehr angezeigt. aber der inhalt der sql datei wird auch nicht ausgeführt / in die db eingefügt.

auch mit
01.
error_reporting(E_ALL);

am anfang der datei wird nichts angezeigt...
Bitte warten ..
Mitglied: EvilMoe
25.12.2008 um 23:29 Uhr
Mit file_get_contents wird auch nix mehr angezeigt. Du könntest überprüfen mit mysql_error() ob ein Fehler beim ausführen des SQL Querys aufgetreten ist.

Also nach mysql_query()

01.
echo mysql_error();
Ich denke mal du hast auch alles ausgetauscht wie den Benutzernamen, Passwort und die Datei???

Da ich nicht weiß was in deiner SQL Datei steht kann ich auch nicht sagen ob das überhaupt funktionieren kann wie du dir das vorstellst. Wenn nämlich in deiner SQL alles INSERT's sind und die Datenbanken auch erstellt werden dann müsste man vorher die Datenbanken löschen.
Bitte warten ..
Mitglied: 8schpi
25.12.2008 um 23:30 Uhr
es liegt nur noch an der form der sql datei... ich hab mal eine manuelles "drop table 'wichtige_tabelle'" statt des fil_get_contents('pfad_zur_sql_datei') geschrieben. dann habe ich gemerkt, dass der rest funktioniert. jetzt muss ich nur noch rausbekommen, wie ich die datei in die richtige form bekomme.
Bitte warten ..
Mitglied: EvilMoe
25.12.2008 um 23:37 Uhr
Zitat von 8schpi:
es liegt nur noch an der form der sql datei... ich hab mal eine
manuelles "drop table 'wichtige_tabelle'" statt
des fil_get_contents('pfad_zur_sql_datei') geschrieben. dann
habe ich gemerkt, dass der rest funktioniert. jetzt muss ich nur noch
rausbekommen, wie ich die datei in die richtige form bekomme.

Du weißt aber das dort der Pfad zu deinem SQL Dump drin stehen muss? ALso z.B. "./ordner./dumps./file.sql".

Wie ich schon sagte. Ich weiß nicht was in deiner SQL Datei steht vielleicht ist auch ein manuelles DROP Table nötig
Bitte warten ..
Mitglied: 8schpi
26.12.2008 um 00:05 Uhr
wahrscheinlich ist die lösung zum greifen nahe...

sehr wahrscheinlich liegt es an der form der sql datei. das "drop table wichtige_tabelle" funktioniert jetzt auch schon mit dem lesen aus der datei heraus. nur der komplette dump muss jetzt noch in form gebracht werden. aber das spare ich mir für morgen auf. danke für die hilfe. ich melde mich wenn ichs hinbekommen habe.

leider wird das noch etwas dauern weil es ziemlich zeitintensiv ist...
Bitte warten ..
Ähnliche Inhalte
Ubuntu
Cronjob mySQL Datensicherung
gelöst Frage von dafdagUbuntu16 Kommentare

Hallo zusammen, ich habe ein Ubuntu Server mit mehreren mySQL Datenbanken die ich gerne via Cronjob stündlich sichern möchte. ...

PHP
Cronjob per PHP erstellen
Frage von FragerPHP4 Kommentare

Hallo Zusammen, ich bräuchte Hilfe für einen Cronjob auf PHP Basis. Dieses Skript soll auf dem FTP Server in ...

PHP
PHP Umstellung mysql connect
Frage von DPiegzaPHP7 Kommentare

Hallo zusammen. Ich bekomme immer diese Fehlermeldung / Warnung: Deprecated: mysql_connect(): The mysql extension is deprecated and will be ...

PHP
PHP MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 14 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 20 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 23 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...