Пример #1
0
 /**
  * Returns proxy class instance (singleton pattern)
  *
  * @return CBitrixCloudBackup
  *
  */
 public static function getInstance()
 {
     if (!isset(self::$instance)) {
         self::$instance = new CBitrixCloudBackup();
     }
     return self::$instance;
 }
Пример #2
0
    echo EndNote();
    ?>
</td>
		</tr>
		<?php 
}
if ($bBitrixCloud) {
    ?>
	<tr>
		<td class="adm-detail-valign-top" width="40%"><?php 
    echo GetMessage('DUMP_MAIN_BITRIX_CLOUD_DESC');
    ?>
<span class="required"><sup>1</sup></span>:</td>
		<td width="60%">
		<?php 
    $backup = CBitrixCloudBackup::getInstance();
    CAdminMessage::ShowMessage(array("TYPE" => "PROGRESS", "DETAILS" => GetMessage("BCL_BACKUP_USAGE", array("#QUOTA#" => CFile::FormatSize($quota = $backup->getQuota()), "#USAGE#" => CFile::FormatSize($usage = $backup->getUsage()))) . '#PROGRESS_BAR#', "HTML" => false, "PROGRESS_TOTAL" => $quota, "PROGRESS_VALUE" => $usage));
    ?>
		</td>
	</tr>
	<?php 
}
?>
	<tr>
		<td class="adm-detail-valign-top" width=40%><?php 
echo GetMessage('MAIN_DUMP_ARC_LOCATION');
?>
</td>
		<td>
			<div><input type=radio name=dump_bucket_id value="-1" <?php 
echo $bBitrixCloud ? "checked" : "";
Пример #3
0
                 $arWeekDays = array(0, 2, 4, 6);
             }
             break;
         case 3:
             $arWeekDays = array($w, ($w + 3) % 7);
             sort($arWeekDays);
             break;
         default:
             // 7
             $arWeekDays = array($w);
     }
     $strMessage = GetMessage("MAIN_DUMP_SHED_CLOSEST_TIME_" . $day) . FormatDate('FULL', strtotime(date('Y-m-d ' . sprintf('%02d:%02d', floor($t / 60), $t % 60), $start_time))) . ' ' . GetMessage('DUMP_LOCAL_TIME');
     if ($dump_auto_set == 2) {
         $backup_secret_key = randString(16);
         CPasswordStorage::Set('backup_secret_key', $backup_secret_key);
         $strError = CBitrixCloudBackup::getInstance()->addBackupJob($backup_secret_key, $url, $sec, $arWeekDays);
         $strMessage .= '<br>' . GetMessage('DUMP_CHECK_BITRIXCLOUD', array('#LINK#' => '/bitrix/admin/bitrixcloud_backup_job.php?lang=' . LANGUAGE_ID));
     }
 } elseif ($_REQUEST['dump_auto_green_button']) {
     $strError = GetMessage('DUMP_WARN_NO_BITRIXCLOUD');
 } else {
     $strMessage = GetMessage('DUMP_SAVED_DISABLED');
 }
 if (!$strError) {
     IntOptionSet("dump_auto_enable", $dump_auto_set);
     $dump_auto_enable = $dump_auto_set;
 }
 IntOptionSet("dump_delete_old", $_REQUEST['dump_delete_old']);
 IntOptionSet("dump_old_time", $_REQUEST['dump_old_time']);
 IntOptionSet("dump_old_cnt", $_REQUEST['dump_old_cnt']);
 IntOptionSet("dump_old_size", $_REQUEST['dump_old_size']);
Пример #4
0
			if($obUpload->Finish($obBucket))
			{
				if ($NS['BUCKET_ID'] != -1)
				{
					$oBucket = new CCloudStorageBucket($NS['BUCKET_ID']);
					$oBucket->IncFileCounter($file_size);
				}

				if (file_exists($arc_name = CTar::getNextName($NS['arc_name'])))
				{
					unset($NS['obBucket']);
					$NS['arc_name'] = $arc_name;
				}
				else
				{
					CBitrixCloudBackup::clearOptions();
					
					if ($arParams['dump_delete_old'] == 1)
					{
						$name = CTar::getFirstName($NS['arc_name']);
						while(file_exists($name))
						{
							$size = filesize($name);
							if (unlink($name) && IntOption("disk_space") > 0)
								CDiskQuota::updateDiskQuota("file",$size , "del");
							$name = CTar::getNextName($name);
						}
					}
					break;
				}
			}
Пример #5
0
 function CheckBackup()
 {
     $arCount = 0;
     $arResult = array();
     $arResult["STATUS"] = false;
     $bMcrypt = function_exists('mcrypt_encrypt');
     $bBitrixCloud = $bMcrypt && CModule::IncludeModule('bitrixcloud') && CModule::IncludeModule('clouds');
     $site = CSite::GetSiteByFullPath(DOCUMENT_ROOT);
     $path = BX_ROOT . "/backup";
     $arTmpFiles = array();
     $arFilter = array();
     GetDirList(array($site, $path), $arDir, $arTmpFiles, $arFilter, array('sort' => 'asc'), "F");
     foreach ($arTmpFiles as $ar) {
         if (strpos($ar['NAME'], ".enc.gz") || strpos($ar['NAME'], ".tar.gz") || strpos($ar['NAME'], ".tar") || strpos($ar['NAME'], ".enc")) {
             $arCount++;
         }
     }
     if ($bBitrixCloud) {
         $backup = CBitrixCloudBackup::getInstance();
         try {
             foreach ($backup->listFiles() as $ar) {
                 if (strpos($ar['FILE_NAME'], ".enc.gz") || strpos($ar['FILE_NAME'], ".tar.gz") || strpos($ar['FILE_NAME'], ".tar") || strpos($ar['FILE_NAME'], ".enc")) {
                     $arCount++;
                 }
             }
         } catch (Exception $e) {
         }
     }
     if ($arCount > 0) {
         $arResult["STATUS"] = true;
         $arResult["MESSAGE"]["PREVIEW"] = GetMessage("CL_FOUND_BACKUP", array("#count#" => $arCount));
     } else {
         $arResult["MESSAGE"]["PREVIEW"] = GetMessage("CL_NOT_FOUND_BACKUP");
     }
     return $arResult;
 }
     $backup_secret_key = CPasswordStorage::Get('backup_secret_key');
     if (strlen($backup_secret_key) <= 0) {
         $backup_secret_key = randString(10);
         CPasswordStorage::Set('backup_secret_key', $backup_secret_key);
     }
     $time = 0;
     if (preg_match("/^(\\d{1,2}):(\\d{1,2})\$/", $_POST["TIME"], $match)) {
         $time = $match[1] * 3600 + $match[2] * 60;
     }
     $strError = CBitrixCloudBackup::getInstance()->addBackupJob($backup_secret_key, $_POST["URL"], $time, $_POST["WEEK_DAYS"]);
     if ($strError == "") {
         LocalRedirect("/bitrix/admin/bitrixcloud_backup_job.php?lang=" . LANGUAGE_ID);
     }
 }
 $arHeaders = array(array("id" => "URL", "content" => GetMessage("BCL_BACKUP_JOB_URL"), "default" => true), array("id" => "TIME", "content" => GetMessage("BCL_BACKUP_JOB_TIME"), "align" => "right", "default" => true), array("id" => "WEEK_DAYS", "content" => GetMessage("BCL_BACKUP_JOB_WEEK_DAYS"), "default" => true), array("id" => "STATUS", "content" => GetMessage("BCL_BACKUP_JOB_STATUS"), "default" => true), array("id" => "FINISH_TIME", "content" => GetMessage("BCL_BACKUP_JOB_FINISH_TIME"), "align" => "right", "default" => true));
 $arJobs = CBitrixCloudBackup::getInstance()->getBackupJob();
 if (is_string($arJobs)) {
     throw new CBitrixCloudException($arJobs);
 }
 $lAdmin->AddHeaders($arHeaders);
 $rsData = new CDBResult();
 $rsData->InitFromArray($arJobs);
 $rsData = new CAdminResult($rsData, $sTableID);
 while ($arRes = $rsData->GetNext()) {
     $row = $lAdmin->AddRow($arRes["URL"], $arRes);
     if ($arRes["STATUS"] == "") {
         $status = GetMessage("BCL_BACKUP_JOB_NEVER");
     } else {
         $status = $arRes["STATUS"];
     }
     $row->AddViewField("STATUS", $status);