Files
bm/public_html/public/cms/backup.php
2025-09-24 13:26:28 +02:00

55 lines
1.4 KiB
PHP

<?php
define(ROOT, "../");
require_once(ROOT.'include/db.inc.php');
//make backup of all flexicon tables
$sql = "-- SQL Dump " . DBHOST . " --\n";
$sql .= "-- Date: " . date("Y-m-d H:i") . " --\n\n";
dbConnect();
$tables = mysql_list_tables(DBNAME);
while($table = mysqli_fetch_array($tables, MYSQL_NUM)){
if(substr($table[0], 0, 7) == "bruckm_"){
$query = sprintf("SELECT * FROM %s", $table[0]);
$result = dbQuery($query);
$sql = "\n-- Table: " . $table[0] . " --\n\n";
#echo "Saving table ".$sql."<br>";
$sql .= sprintf("TRUNCATE TABLE %s;\n", $table[0]);
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$fields = "";
$values = "";
foreach($line as $i=>$j){
$fields .= "`$i`, ";
$values .= sqlstring($j).", ";
}
$fields = substr($fields, 0, strlen($fields)-2);
$values = substr($values, 0, strlen($values)-2);
$sql .= sprintf("INSERT INTO %s (%s) VALUES (%s);\n",
$table[0],
$fields,
$values);
}
$f = fopen("backup/bruckm-".date("Y-m-d").".sql", "a");
fwrite($f, utf8_encode($sql));
fclose($f);
}
}
#chmod("backup/bruckmuehle-".date("Y-m-d").".sql", "0777");
//delete old backups except the first day of each month
if(date("d") != 8){
$today = time();
$today -= 60 * 60 * 24 * 7;
$old = "backup/bruckmuehle-" . date("Y-m-d", $today) . ".sql";
@unlink($old);
}
echo "Backup successful";
?>