35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
<?php
|
|
class DatabaseBackup {
|
|
public function scheme(){
|
|
$backupfile = $_SERVER['DOCUMENT_ROOT'] . BASEDIR ."/backup/" . DBNAME.'_scheme_'.date("Y-m-d", time()).'.sql';
|
|
$command = "mysqldump --skip-comments --no-create-info -h localhost -u ". DBUSER . " -p" . DBPASS ." ". DBNAME ." -r $backupfile 2>&1";
|
|
$this->executeCommand($command);
|
|
return $backupfile;
|
|
}
|
|
|
|
public function data(){
|
|
$backupfile = $_SERVER['DOCUMENT_ROOT'] . BASEDIR ."/backup/" . DBNAME.'_data_'.date("Y-m-d", time()).'.sql';
|
|
$command = "mysqldump --skip-comments --no-data -h localhost -u ". DBUSER . " -p" . DBPASS ." ". DBNAME ." -r $backupfile 2>&1";
|
|
$this->executeCommand($command);
|
|
return $backupfile;
|
|
}
|
|
|
|
private function executeCommand($command){
|
|
ini_set('date.timezone', 'Europe/Prague');
|
|
exec($command);
|
|
}
|
|
|
|
public function compress($filename, $files = []) {
|
|
$zip = new ZipArchive();
|
|
if($zip->open($filename,ZipArchive::CREATE|ZipArchive::OVERWRITE)) {
|
|
foreach ($files as $file) {
|
|
$zip->addFile($file);
|
|
}
|
|
echo $zip->close();
|
|
foreach ($files as $file) {
|
|
unlink($file);
|
|
}
|
|
}
|
|
}
|
|
}
|