/** * Domain Daten sichern * * Mit dieser Funktion kann man alle Daten einer Domain sichern lassen. * Nicht gesichert werden die Ordner "backups", "logs" und "phptmp". * * @param array $domainData Die Daten der Domain welche gesichert werden soll. * @return void. */ public static function DomainData($domainData) { $DATA_BACKUP_FILE = DaemonConfig::$distro->{'APACHE_WWW_DIR'} . '/' . $domainData['domain_name'] . '/backups/' . $domainData['domain_name'] . '_' . date('Ymd') . '.tar'; exec(DaemonConfig::$cmd->{'CMD_TAR'} . " -cf '" . $DATA_BACKUP_FILE . "' -C '" . DaemonConfig::$distro->{'APACHE_WWW_DIR'} . "/" . $domainData['domain_name'] . "/' . --exclude=backups --exclude=logs --exclude=phptmp"); if (file_exists($DATA_BACKUP_FILE)) { DaemonCommon::systemSetFilePermissions($DATA_BACKUP_FILE, DaemonConfig::$cfg->{'APACHE_SUEXEC_USER_PREF'} . $domainData['domain_uid'], DaemonConfig::$cfg->{'APACHE_SUEXEC_USER_PREF'} . $domainData['domain_gid'], 0644); DaemonBackup::Compress($DATA_BACKUP_FILE); } }
require_once dirname(__FILE__) . '/DaemonConfig.php'; System_Daemon::debug('Starting "CronDomainBackup".'); $sql_query = "\n\tSELECT\n\t\tdomain_id, domain_name, domain_gid, domain_uid, status, allowbackup\n\tFROM\n\t\tdomain\n\tWHERE\n\t\tstatus = 'ok'\n\tORDER BY\n\t\tdomain_id;\n"; foreach (DB::query($sql_query) as $row) { // System_Daemon::info(var_dump($row)); switch ($row['allowbackup']) { case 'dmn': System_Daemon::debug('Starting "Domain backup" subprocess.'); DaemonBackup::DomainData($row); System_Daemon::debug('Finished "Domain backup" subprocess.'); break; case 'sql': System_Daemon::debug('Starting "SQL backup" subprocess.'); DaemonBackup::DomainDB($row); System_Daemon::debug('Finished "SQL backup" subprocess.'); break; case 'full': System_Daemon::debug('Starting "Full backup" subprocess.'); DaemonBackup::DomainDB($row); DaemonBackup::DomainData($row); System_Daemon::debug('Finished "Full backup" subprocess.'); break; case 'no': System_Daemon::debug("Nichts sichern."); break; default: System_Daemon::debug("Don't know what to do with " . $row['allowbackup']); } DaemonBackup::CleanUp(DaemonConfig::$distro->{'APACHE_WWW_DIR'} . '/' . $row['domain_name'] . '/backups/', 2); } System_Daemon::debug('Finished "CronDomainBackup".');
/** * EasySCP a Virtual Hosting Control Panel * Copyright (C) 2010-2016 by Easy Server Control Panel - http://www.easyscp.net * * This work is licensed under the Creative Commons Attribution-NoDerivs 3.0 Unported License. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/. * * @link http://www.easyscp.net * @author EasySCP Team */ require_once dirname(__FILE__) . '/DaemonDummy.php'; require_once dirname(__FILE__) . '/DaemonCommon.php'; require_once dirname(__FILE__) . '/DaemonConfig.php'; $DB_BACKUP_FILE = DaemonConfig::$distro->{'BACKUP_FILE_DIR'} . '/EasySCP_' . date('Ymd') . '.sql'; $ETC_BACKUP_FILE = DaemonConfig::$distro->{'BACKUP_FILE_DIR'} . '/EasySCP_' . date('Ymd') . '.tar'; DB::backupDatabase(DB::$DB_DATABASE, $DB_BACKUP_FILE); if (file_exists($DB_BACKUP_FILE)) { DaemonBackup::Compress($DB_BACKUP_FILE); } if (file_exists($DB_BACKUP_FILE . '.bz2')) { DaemonCommon::systemSetFilePermissions($DB_BACKUP_FILE . '.bz2', DaemonConfig::$cfg->{'ROOT_USER'}, DaemonConfig::$cfg->{'ROOT_GROUP'}, 0640); } exec(DaemonConfig::$cmd->{'CMD_TAR'} . ' --create --directory="' . DaemonConfig::$cfg->{'CONF_DIR'} . '" --file="' . $ETC_BACKUP_FILE . '" . 2>> ' . DaemonConfig::$cfg->{'LOG_DIR'} . '/EasySCP_Backup.log'); if (file_exists($ETC_BACKUP_FILE)) { DaemonBackup::Compress($ETC_BACKUP_FILE); } if (file_exists($ETC_BACKUP_FILE . '.bz2')) { DaemonCommon::systemSetFilePermissions($ETC_BACKUP_FILE . '.bz2', DaemonConfig::$cfg->{'ROOT_USER'}, DaemonConfig::$cfg->{'ROOT_GROUP'}, 0640); } DaemonBackup::CleanUp(DaemonConfig::$distro->{'BACKUP_FILE_DIR'});