Нужен скрипт для создание бекапа

414
.
а что такое бекап?
.
Дорога, дорога, всё то ты знаешь
jubi (15.09.2011/16:43)
а что такое бекап?
Резервная копия файлов и базы сайта, иногда еще всяких почтовых доменов и т.д. Короче всего сайта
.
The Frontend-Warrior
а чем автору pclzip не подходит?
.
Blade (15.09.2011/17:18)
а чем автору pclzip не подходит?
Я о таком и не слышал.... Дай ссылку...
.
Blade
The Frontend-Warrior
ищи скрипт pclzip.lib.php в четверке в папке \incfiles\lib\
как работает, спроси у гоголя
.
<?php
define('_IN_JOHNCMS', 1);
$rootpath = '';
function file_size($f){
	//if(!is_dir($f) || !is_readable($f)){return;} 
	$d[] = $f; 
	$sz = 0; 
	do{ 
		$dir = array_shift($d); 
		$h = opendir($dir); 
		while($f = readdir($h)){ 
			if($f[0]!='.' && is_readable($dir.'/'.$f)){ 
			if(is_dir($dir.'/'.$f)){ 
				$d[] = $dir.'/'.$f; 
			} 
			else{ 
			++$all; 
			} 
				$sz += filesize($dir.'/'.$f); 
			} 
		} 
			closedir($h); 
	} 
	while(sizeof($d) > 0); 
	if($sz >= 1048576){ 
		return (int)$all.' / '.round($sz/1048576,1).' mb'; 
	} 
	else{ 
		return (int)$all.' / '.round($sz/1024,1).' kb'; 
	} 
}
require_once("incfiles/core.php");
if ( $dostsadm != 1 )
{
	header("Location: ./?err");
	exit;
}
$textl = 'Резервное копирование';
require_once("incfiles/head.php");
echo '<div class="phdr">Выбор файлов</div>';
if ( !empty($_POST['create']) )
{
	foreach ( $_POST['file_zip'] as $file )
	{
		$arr[] = $file;
	}
	
	$name = preg_replace("[^a-Z0-9_\.\-]", "", $_POST['name']);
	if ( empty($name) )
	{
		$name = 'Backup';
	}
	
	if ( is_file("backups/$name.zip") and empty($_POST['delcopy']) )
	{
		echo 'Архив '. $name .'.zip уже есть!<br/><a href="backup.php">Повторить</a>';	
		require_once("incfiles/end.php");
		exit;
	} elseif ( is_file("backups/$name.zip") )
	{
		echo 'Архив '. $name .'.zip заменен<br/>';
	}
	
	require_once ('incfiles/pclzip.php');
	$create = new PclZip($arr);
	$create -> PclZip("backups/$name.zip");
	if ( $create -> create($arr) == 0 )
	{
		echo $create -> errorInfo(true);
	} else
	{
		echo 'Архив создан!';
	}
	echo '<br/><a href="backup.php">Еще...</a>';
} else 
{
	echo '<form action="backup.php?" method="post">';
	echo '<input type="text" name="name" value="Backup"/><br/>';
		
	$dir = opendir(".");
	$div = true;
	while ( $file = readdir( $dir ) )
	{
		if ( $file != "." && $file != ".." )
		{
			echo ( $div ) ? '<div class="b">' : '<div class="c">';
			$div = !$div;
			echo '<input type="checkbox" name="file_zip[]" value="'. $file .'"/>'. ( is_dir($file) ? $file . ' ('. file_size($file) .')' : $file . ' ('. formatsize(filesize($file)) .')' );
			echo '</div>';
		}
	}
	echo '<hr/><input type="checkbox" name="delcopy" value="1"/> Заменить при совпадении имен<br/>';
	echo '<input type="submit" name="create" value="Архивировать" /></form>';
}
require_once ("incfiles/end.php");
?>
.
Это ^, еще под 2.4,не помню кто,но выкладывали тут на форуме.
Если кто сможет,под 3.2.2 переделайте.
.
(\/)____o_O____(\/)
http://annimon.com/code/?act=view&id=724 с тела писал, на работу не проверил пока. Если что потом поправлю
.
Koenig (16.09.2011/07:23)
http://annimon.com/code/?act=view&id=724 с тела писал, на работу не проверил пока. Если что потом поправлю
Кто может этот код воткнуть в файл пхп. И запаковать в зип?
.
Koenig, я конечно все понимаю, но писать каждый раз ссылку на сторонний ресурс.... пахнет рекламой.
З.Ы. Можно же просто код писать здесь, на форуме, думаю с копированием проблем не будет
Всего: 21