Datenbank aus Shellscript-Sicherung wiederherstellen: Fehler gefunden?
bearbeitet von JörgHi Willi,
> Nehm ich einen test-case, der mit dem use-case „Datenverlust“ 1:1 übereinstimmt...
>
> Wozu kann ich denn bitte mit virtuellen Maschinen dealen? Also mach ich zum Testen eine Kopie der funktionierenden, diese Kopie dann mutwillig „kaputt“ - und stelle sie wieder her.
>
> Auch Dein Windows hat mit dem HyperVi eine Software zum Betrieb von virtuellen Maschinen an Bord - und der hat zwar ein paar Ungereimtheiten, ist gar nicht mal so schlecht.
Ok, hiervon habe ich jetzt nicht wirklich etwas verstanden. 😆
Ich habe die Option -B wieder in das Backupscript eingefügt und in das Importscript habe ich folgendes eingefügt.
~~~ PHP
$db_host = 'localhost';
$db_user = 'user'; // User der zu rettenden DB
$db_pass = 'pass'; // Passwort der zu rettenden DB
$db_name = 'dbtarget'; // Name der zu rettenden DB (Target)
$wp_path = 'my/path/test.sql.gz'; // die genaue Backupdatei (der sql-dump)
$backup_db = 'dbsource'; // Name der geretteten DB (Source)
// Wenn in dieselbe db wiederhergestellt wird, dann darf USE dbblablub; im Dump stehen bleiben, ansonsten weg damit
if($backup_db != $db_name) {
$backupoption = ' | grep -vP ';
$backupoption .= '"^USE \`';
$backupoption .= $backup_db;
$backupoption .= '\`;$"';
} else {
$backupoption = '';
}
// Dann Backup einspielen:
$sys = '/bin/gunzip -c '.$wp_path.$backupoption.' | /usr/bin/mysql -u'.$db_user.' -p'.escapeshellarg($db_pass).' -h'.$db_host.' -B '.$db_name.' ';
system($sys,$fp);
~~~
Jörg