add first draft boogie backup scripts

This commit is contained in:
Robert Wartenberg committed 2023-10-04 08:03:44 +02:00
1 parent db2b9fbb38
commit 17494e3afb
6 files changed
+117

No files matched your search

+1
View File
@@ -0,0 +1 @@
credentials.php
+3
View File
@@ -0,0 +1,3 @@
This folder hast to be on the Boogie server
The credentials.php has to be filled but never commited to the git
@@ -0,0 +1,65 @@
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$dumps_path = 'dumps/';
if(file_exists($dumps_path))
{
array_map( 'unlink', array_filter((array) glob($dumps_path.'*') ) );
}
else
{
mkdir('dumps');
}
read credential file
$credential_file = fopen("credentials.php", "r") or die("Unable to open file!");
//should priovide the following variables:
// $db_host = 'host';
// $db_user = 'user';
// $db_pass = "pw";
if ($db_host == NULL || $db_user == NULL || $db_pass == NULL) {
die("Please provide credentials in credentials.php");
}
$db_conn = new mysqli($db_host, $user, $pass);
$result = mysqli_query($db_conn,"SHOW DATABASES");
while ($row = mysqli_fetch_array($result)) {
if($row[0] == 'information_schema' || $row[0] == 'performance_schema')
{
continue;
}
$database = $row[0];
$dir = dirname(__FILE__) . '/'.$dumps_path.$database.'.sql';
exec("mysqldump --user={$user} --password={$pass} --host={$host} {$database} --result-file={$dir} 2>&1", $output);
if(!empty($output))
{
var_dump($output);
}
}
## Zip all dumps
$zipfile = "dumps.zip";
if(file_exists($zipfile))
{
unlink($zipfile);
}
$zip = new ZipArchive;
if($zip -> open($zipfile, ZipArchive::CREATE ) === TRUE)
{
$dir = opendir($dumps_path);
while($file = readdir($dir)) {
if(is_file($dumps_path.$file)) {
$zip -> addFile($dumps_path.$file, $file);
}
}
$zip ->close();
}