function backup_freewebs($ID, $servername) { include_once dirname(__FILE__) . "/ressources/class.freeweb.inc"; $free = new freeweb($servername); backup_events($ID, $servername, "INFO, {$servername} Directory:`{$free->WORKING_DIRECTORY}`", __LINE__); $date_start = time(); if (!is_dir("{$free->WORKING_DIRECTORY}")) { backup_events($ID, $servername, "ERROR, {$servername} Directory:`{$free->WORKING_DIRECTORY}` no such directory", __LINE__); return; } $DestinationPath = "{$GLOBALS["MOUNTED_PATH_FINAL"]}/freewebs/{$servername}/www"; backup_mkdir($DestinationPath); if (!backup_isdir($DestinationPath)) { backup_events($ID, $servername, "ERROR, {$DestinationPath} permission denied or no such file or directory", __LINE__); return false; } $info = backup_copy($free->WORKING_DIRECTORY, "{$DestinationPath}", $ID); backup_events($ID, $servername, "INFO,{$free->WORKING_DIRECTORY}\n{$info}", __LINE__); if ($free->mysql_database != null) { $q = new mysql(); if ($free->mysql_instance_id > 0) { $q = new mysql_multi($free->mysql_instance_id); } if (!$q->DATABASE_EXISTS($free->mysql_database)) { backup_events($ID, $servername, "ERROR,{$free->mysql_database} no such database", __LINE__); $date_end = time(); $calculate = distanceOfTimeInWords($date_start, $date_end); backup_events($ID, $servername, "INFO, time: {$calculate}", __LINE__); return; } backup_mysql_database_mysqldump($ID, $free->mysql_database, "{$GLOBALS["MOUNTED_PATH_FINAL"]}/freewebs/{$servername}/MySQL", $free->mysql_instance_id); } $date_end = time(); $calculate = distanceOfTimeInWords($date_start, $date_end); backup_events($ID, $servername, "INFO, time: {$calculate}", __LINE__); }
function backupsite($servername) { $unix = new unix(); $free = new freeweb($servername); $tempdir = "/var/tmp/webget/{$servername}"; $targetpackage = dirname(__FILE__) . "/ressources/logs/web/{$servername}.tar.gz"; if (is_file($targetpackage)) { @unlink($targetpackage); } writelogs("[{$servername}] Starting backup this website", __FUNCTION__, __FILE__, __LINE__); $date_start = time(); if (!is_dir("{$free->WORKING_DIRECTORY}")) { writelogs("[{$servername}] Directory:`{$free->WORKING_DIRECTORY}` no such directory", __FUNCTION__, __FILE__, __LINE__); return; } @mkdir($tempdir, 0755, true); writelogs("[{$servername}] Copy website content to {$tempdir}", __FUNCTION__, __FILE__, __LINE__); $cp = $unix->find_program("cp"); $rm = $unix->find_program("rm"); writelogs("[{$servername}] Copy website {$free->WORKING_DIRECTORY} content to {$tempdir}...", __FUNCTION__, __FILE__, __LINE__); writelogs("[{$servername}] Copy Configuration File {$tempdir}/artica.restore...", __FUNCTION__, __FILE__, __LINE__); @file_put_contents("{$tempdir}/artica.restore", $free->BackupConfig()); shell_exec("{$cp} -rf {$free->WORKING_DIRECTORY}/* {$tempdir}/"); writelogs("[{$servername}] Copy website {$free->WORKING_DIRECTORY} content to {$tempdir} done...", __FUNCTION__, __FILE__, __LINE__); if ($free->mysql_database != null) { $q = new mysql(); if ($free->mysql_instance_id > 0) { $q = new mysql_multi($free->mysql_instance_id); } if (!$q->DATABASE_EXISTS($free->mysql_database)) { writelogs("[{$servername}] {$free->mysql_database} no such database", __FUNCTION__, __FILE__, __LINE__); $date_end = time(); backupsite_compress($tempdir, $targetpackage); $calculate = $unix->distanceOfTimeInWords($date_start, $date_end); writelogs("[{$servername}] done...time: {$calculate}", __FUNCTION__, __FILE__, __LINE__); return; } backupsite_mysql_database_mysqldump($free->mysql_database, $tempdir . "/MySQL", $free->mysql_instance_id, $servername); } backupsite_compress($tempdir, $targetpackage); $date_end = time(); $calculate = $unix->distanceOfTimeInWords($date_start, $date_end); writelogs("[{$tempdir}] done...time: {$calculate}", __FUNCTION__, __FILE__, __LINE__); if (!is_file($targetpackage)) { writelogs("[{$tempdir}] failed, {$targetpackage} no such file", __FUNCTION__, __FILE__, __LINE__); return; } @chmod($targetpackage, 0755); if (is_dir($tempdir)) { writelogs("[{$tempdir}] cleaning...", __FUNCTION__, __FILE__, __LINE__); shell_exec("{$rm} -rf {$tempdir}"); } }