Бэкап Баз для Hosting.ua

Автоматическое наполнение простых сайтов, форумов, блогов и различных CMS контентом. Автоматическое ведение сайта, блога или форума.
Ответить
Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2653
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Бэкап Баз для Hosting.ua

Сообщение bigfozzy » 16 фев 2011, 17:08

Код: Выделить всё

<?php

// логин аккаунта
$login="xxxx";
$password="xxxx";

// данные для доступа к базам
$db_pefix="xxxx_";
$BaseCount=2;
$db_names = array("xxxx","xxxx");
$db_logins  = array("xxxx","xxxx");
$db_passwords  = array("xxxx","xxxx");
$db_enabled  = array("1","1");

// папка бэкапа
{
	date_default_timezone_set('Europe/Kiev');
	$backup_folder="C:\\Backup\\".date("y_m_d")."\\";
	$folder->create_folder("C:\\Backup\\");	
	$folder->create_folder($backup_folder);
	echo "<hr>задали бэкап папку $backup_folder<br>";
}

// параметры для браузера
{
	$browser->clear_cache();
	$browser->clear_cookies("");
	$browser->set_user_agent("Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)");
	$browser->enable_browser_message_boxes(false);
	$browser->disable_download_file_dialog(true);
	$browser->set_default_download($backup_folder);
	echo "задали установки браузера<br>";
}

// сделаем бэкапы всех баз
for ($i=0;$i<$BaseCount;$i++)
{
	if ($db_enabled[$i]=="0")
		continue;
	// начало
	echo "<hr>";

	// перейдем к админке баз данных
	{
		$browser->navigate("http://hosting.ua/");
		$browser->wait_for(30,1);

		// логин
		$input->set_value_by_name('login',$login);
		$input->set_value_by_name('password',$password);
		$button->click_by_number(0);
		$browser->wait_for(30,1);
		echo "залогинились в аккаунт<br>";

		// перейдем в базы данных
		$image->click_by_src('db_my.gif',false);
		$browser->wait_for(30,1);
		echo "перешли к админке базы<br>";
	}

	// перейдем в 1 базу
	$anchor->click_by_inner_text($db_pefix.$db_names[$i],true);
	$browser->wait_for(30,1);
        sleep(3);
	echo "перейдем в базу: $db_names[$i]<br>";

	// перейдем в php admin для этой базы
        $num=$anchor->get_number_by_attribute("href","phpMyAdmin/index.php",false);
	$anchor->remove_attribute_by_number($num,"target");
	$anchor->click_by_inner_text('Встроенная панель phpMyAdmin',true);
	$browser->wait_for(30,1);
        sleep(3);
	echo "перейдем к в PhpMyAdmin<br>";

	// залогинимся
	$input->set_value_by_name('pma_username',$db_pefix.$db_logins[$i]);
	$input->set_value_by_name('pma_password',$db_passwords[$i]);
	$button->click_by_number(0);
	$browser->wait_for(30,1);
        sleep(3);
	echo "залогинились к в PhpMyAdmin<br>";

	// выберем базу
	$anchor->click_within_iframe_by_href($db_names[$i],false,0);
	$browser->wait_for(30,1);
	// перейдем в Экспорт
	$anchor->click_within_iframe_by_inner_text('Экспорт',true,1);
	$browser->wait_for(30,1);
	sleep(3);
	echo "перешли в Экспорт<br>";

	// загрузим бэкап
	$checkbox->click_within_iframe_by_attribute('name','asfile',true,1);
	$input->set_value_within_iframe_by_name('filename_template',$db_names[$i],1);
	$button->click_within_iframe_num_by_name('buttonGo',1);
	$browser->wait_for(30,1);
	// переименуем сделанный бэкап
	$backup_patch=$backup_folder.$db_names[$i].".sql";
	for ($j=0;$j<10;$j++)
	{
		sleep(1);
		echo (".");
	}
	echo ("<br>");
	$file_os->rename($backup_folder."export.php",$backup_patch);
	echo "сделали бэкап $backup_patch<br>";

	// конец
	echo "<hr>";
}

echo "Все Сделали<hr>";

?>

Ответить