|
@@ -8,34 +8,40 @@ class backup
|
|
|
$nameNewFolder = date("Ymd-His");
|
|
$nameNewFolder = date("Ymd-His");
|
|
|
$newFolder = "/" . DIR_TEMP . $nameNewFolder;
|
|
$newFolder = "/" . DIR_TEMP . $nameNewFolder;
|
|
|
mkdir($newFolder, 0777);
|
|
mkdir($newFolder, 0777);
|
|
|
- $backupFile = self::dumpMysql($newFolder);
|
|
|
|
|
- rename($backupFile, $newFolder . "/" . $backupFile);
|
|
|
|
|
|
|
+ self::dumpMysql($newFolder);
|
|
|
file::copyFolder("/" . DIR_DATAS, $newFolder . "/datas");
|
|
file::copyFolder("/" . DIR_DATAS, $newFolder . "/datas");
|
|
|
- $localZip = self::zip($newFolder, DIR_TEMP . $nameNewFolder);
|
|
|
|
|
- self::deleteFolder($newFolder);
|
|
|
|
|
- rename($localZip, DIR_DATAS_BACKUP . $nameNewFolder . ".zip");
|
|
|
|
|
|
|
+ $localZip = file::zip($newFolder, DIR_TEMP . $nameNewFolder);
|
|
|
|
|
+ file::deleteFolder($newFolder);
|
|
|
|
|
+ rename($localZip, DIR_BACKUP . $nameNewFolder . ".zip");
|
|
|
|
|
+ return TRUE;
|
|
|
} catch (Exception $ex) {
|
|
} catch (Exception $ex) {
|
|
|
return FALSE;
|
|
return FALSE;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public static function deleteFolder(string $_dir)
|
|
|
|
|
|
|
+ public static function restore(string $_zip)
|
|
|
{
|
|
{
|
|
|
- if(is_dir($_dir)){
|
|
|
|
|
- $command = "rm -r " . $_dir;
|
|
|
|
|
- try {
|
|
|
|
|
- system($command);
|
|
|
|
|
- return TRUE;
|
|
|
|
|
- } catch (Exception $ex) {
|
|
|
|
|
- return FALSE;
|
|
|
|
|
|
|
+ $tmpZip = str_replace(DIR_BACKUP, DIR_TEMP, $_zip);
|
|
|
|
|
+ $tmpDatas = date("Ymd-His") . "-datas";
|
|
|
|
|
+ copy($_zip, $tmpZip);
|
|
|
|
|
+ $folder = file::unzip($tmpZip, DIR_TEMP);
|
|
|
|
|
+ if(self::dumpMysqlRestore(DIR_TEMP . $folder . "/" . DB_NAME . ".Mysql")){
|
|
|
|
|
+ rename(DIR_DATAS, DIR_TEMP . $tmpDatas);
|
|
|
|
|
+ file::copyFolder(DIR_TEMP . $folder . "/datas", DIR_DATAS);
|
|
|
|
|
+ if(is_dir(DIR_DATAS)){
|
|
|
|
|
+ file::deleteFolder(DIR_TEMP . $tmpDatas);
|
|
|
|
|
+ unlink($tmpZip);
|
|
|
|
|
+ file::deleteFolder(DIR_TEMP . $folder);
|
|
|
}
|
|
}
|
|
|
|
|
+ return TRUE;
|
|
|
}
|
|
}
|
|
|
|
|
+ return FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static function dumpMysql(string $_dir)
|
|
public static function dumpMysql(string $_dir)
|
|
|
{
|
|
{
|
|
|
$backupFile = DB_NAME . ".Mysql";
|
|
$backupFile = DB_NAME . ".Mysql";
|
|
|
- $command = "mysqldump --opt -h " . DB_HOST . " -u " . DB_USER . " -p" . DB_PASS . " " . DB_NAME . " > " . $backupFile;
|
|
|
|
|
|
|
+ $command = "mysqldump --opt -h " . DB_HOST . " -u " . DB_USER . " -p" . DB_PASS . " " . DB_NAME . " > " . $_dir . "/" . $backupFile;
|
|
|
try {
|
|
try {
|
|
|
system($command);
|
|
system($command);
|
|
|
return $backupFile;
|
|
return $backupFile;
|
|
@@ -49,12 +55,13 @@ class backup
|
|
|
$command = "mysql -h " . DB_HOST . " -u " . DB_USER . " -p" . DB_PASS . " " . DB_NAME . " < " . $_backupFile;
|
|
$command = "mysql -h " . DB_HOST . " -u " . DB_USER . " -p" . DB_PASS . " " . DB_NAME . " < " . $_backupFile;
|
|
|
try {
|
|
try {
|
|
|
system($command);
|
|
system($command);
|
|
|
|
|
+ return TRUE;
|
|
|
} catch (Exception $ex) {
|
|
} catch (Exception $ex) {
|
|
|
return FALSE;
|
|
return FALSE;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public static function filesRestore()
|
|
|
|
|
|
|
+ public static function jsonRestore()
|
|
|
{
|
|
{
|
|
|
json::create("salaries");
|
|
json::create("salaries");
|
|
|
json::create("excel");
|
|
json::create("excel");
|
|
@@ -63,21 +70,4 @@ class backup
|
|
|
json::create("users");
|
|
json::create("users");
|
|
|
json::create("salaries-proweb");
|
|
json::create("salaries-proweb");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- public static function zip(string $_dir, string $_name)
|
|
|
|
|
- {
|
|
|
|
|
- $zip = new ZipArchive();
|
|
|
|
|
- $zip_name = $_name . ".zip";
|
|
|
|
|
- $zip->open($zip_name, ZipArchive::CREATE);
|
|
|
|
|
- $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($_dir), RecursiveIteratorIterator::LEAVES_ONLY);
|
|
|
|
|
- foreach ($files as $file) {
|
|
|
|
|
- if (!$file->isDir()) {
|
|
|
|
|
- $filePath = $file->getRealPath();
|
|
|
|
|
- $relativePath = substr($filePath, strlen($_dir));
|
|
|
|
|
- $zip->addFile($filePath, $relativePath);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- $zip->close();
|
|
|
|
|
- return $zip_name;
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|