PDA

Просмотр полной версии : Помогите,нужен PHP SHELL и бекапер MYSQL


Mixon
13.01.2009, 20:15
Кто нибуть,помогите,очень нужно php шелл который мог бы удалять/загружать файлы на сервер,и главное мог бы закидывать целые папки на сайте в один архив.... И нужен скрипт который бы все таблицы mysql закидывал в один архив,как бекап,и чтобы потом можно было бы их прочесть без проблем,плиз,люди,очень нужно и очень срочно.... :( :( :(

Kaimi
13.01.2009, 20:18
https://forum.antichat.ru/thread96416.html

Mixon
13.01.2009, 20:51
Спс,полезный скрипт,сейчас надо скрипт чтоб мог в архив все файлы скинуть,и бекапер MySQL,плиз,у кого есть,кто зает,кто слышал,напишите....

Corwin
13.01.2009, 20:58
ТС а чем тебе стандартные c99 и r57 не катят?

Mixon
13.01.2009, 21:07
ггг,чёстно говоря и понятия не имею что ето,мне нужно как можно быстрее всё с сайта апсолютно скопировать...

Gorev
13.01.2009, 21:13
2 Mixon www.madnet.name tam est' to 4to tebe nado...

ili nnna http://madnet.name/files/download/9_c99madshell.php

Mixon
13.01.2009, 21:32
При упаковке в архив постоянно пишет
Can't call archivator (tar cfzv archive_3a8b6.tar.g...atar avatars backup belkz on)!
Что делать???(((

oRb
13.01.2009, 21:43
При упаковке в архив постоянно пишет
Can't call archivator (tar cfzv archive_3a8b6.tar.g...atar avatars backup belkz on)!
Что делать???(((
у тебя что сервер - винда?
Если да, тогда можно написать скрипт с ziplib

Sharky
13.01.2009, 22:02
2 Mixon www.madnet.name tam est' to 4to tebe nado...

ili nnna http://madnet.name/files/download/9_c99madshell.php
+1 ... имхо самый лучший шелл

CrazyStudentS_Mi}{
13.01.2009, 22:49
если тебе единоразово все надо сбекапить то гоу на фтп, копируй все файло, потом гоу в пхпмайдамин и экспорт всех баз. медленно , но верно полюбому

Mixon
14.01.2009, 09:14
у тебя что сервер - винда?
Если да, тогда можно написать скрипт с ziplib
ну,скачал,кинул его возле скрипта,ничё,есле в него через includ то fatal error...что сделать?

Mixon
14.01.2009, 20:06
Ну,никто не поможет чтоли????????((((((((((

ShAnKaR
14.01.2009, 20:52
тс тебе пытаются помочь - но ты не отвечаешь на вопросы.
это ... сотрудник читающий мысли на растоянии сегодня отсутствует.

конкретного универсального решения под любую платформу я не встречал да оно и не нужно, все зависит от имеющихся средств на данной конкретной системе.

Mixon
15.01.2009, 00:01
тс тебе пытаются помочь - но ты не отвечаешь на вопросы.
это ... сотрудник читающий мысли на растоянии сегодня отсутствует.

конкретного универсального решения под любую платформу я не встречал да оно и не нужно, все зависит от имеющихся средств на данной конкретной системе.

Я на все вопросы ответил как я думаю,развешто не коректоно на вопрос о том что у меня сервер винда чтоли....я хз честно говоря,и я уже спросил,как можно сделать то уже с етим классом,уже новый вопрос,по етому как ето сделать,есле даже винда.......некоректоности тут невижу.....

ShAnKaR
15.01.2009, 00:16
там в readme есть пример:

Function: addDirContent()

Syntax: void addDirContent( resource dir_handle )

Description: To add a complete dir you can use this function.

It doesn't matter if there are binary or ASCII files

in the dir.

The function doesn't work recursiv without the DeepDir

Class from Ilya Nemihin.

You can grab the latest version of DeepDir at phpclasses.org:

http://www.phpclasses.org/browse.html/package/1025.html



Example:



<?php

ob_start();

require('zip.lib.php');



$zipfile = new zipfile('archive.zip');

$zipfile->addDirContent('./');

echo $zipfile->file();

?>




fatal error...

это что?

Pashkela
15.01.2009, 00:26
Читал тему, читал - нормальный хостер с бекапом + фтп

Mixon
15.01.2009, 00:36
там в readme есть пример:

Function: addDirContent()

Syntax: void addDirContent( resource dir_handle )

Description: To add a complete dir you can use this function.

It doesn't matter if there are binary or ASCII files

in the dir.

The function doesn't work recursiv without the DeepDir

Class from Ilya Nemihin.

You can grab the latest version of DeepDir at phpclasses.org:

http://www.phpclasses.org/browse.html/package/1025.html



Example:



<?php

ob_start();

require('zip.lib.php');



$zipfile = new zipfile('archive.zip');

$zipfile->addDirContent('./');

echo $zipfile->file();

?>




это что?



То что и в етом примере с реад ми....

Fatal error: Class 'zipfile' not found in X:\home\localhost\www\ziplib\index.php on line 9

Дай плиз нормальный zip.lib ,потому что только такое получается с етих...посмотянно ошибка...

ShAnKaR
15.01.2009, 00:49
когда чтото спрашиваешь - коментируй больше, а то написал - скачал чето - неработает, никто же незнает че ты там ставил, и че оно показало.
вот класс http://www.phpclasses.org/browse/package/1033.html
вот подобная тема уже обсуждалась
https://forum.antichat.ru/nextoldesttothread69260.html

ShAnKaR
15.01.2009, 00:50
ПС на винде тоже может быть(или даже обязан хз) консольный архиватор так что можно поробовать через exec

Mixon
15.01.2009, 01:07
Ты пишешь

ShAnKaR

под себя переделвал php class tar


<?
function Ch($b) {
$u=0;
for($i=0;$i<512;$i++)
$u+=ord($b[$i]);
for($i=0;$i<8;$i++)
$u-=ord($b[148+$i]);
$u+=ord(" ")*8;
return $u;
}

$arrfw=array('./');
$arrfile=array();
$ife=0;
while(++$ife<=count($arrfw)){
$pathfw=$arrfw[$ife-1];
if(is_readable($pathfw)){
if($hfw=opendir($pathfw)){
while(false!==($ffw=readdir($hfw))){
$ffw=$pathfw.$ffw;
if(!preg_match('/\/\.+$/',$ffw)){
if(is_dir($ffw) && !preg_match('!/log$!',$ffw)){array_push($arrfw,$ffw.'/');print $ffw.'<br>';}
else array_push($arrfile,$ffw);
}}
closedir($hfw);}}}

$fpp=fopen('x.tar',"wb");


$pq=preg_quote($arrfw[0]);
array_shift($arrfw);
foreach($arrfw as $dn){
$in=@stat($dn);
$dn=preg_replace("!^$pq!",'',$dn);
$hr=str_pad($dn,100,"\0").str_pad(decoct($in["mode"]),7,"0",STR_PAD_LEFT)."\0".str_pad(decoct($in["uid"]),7,"0",STR_PAD_LEFT)."\0".str_pad(decoct($in["gid"]),7,"0",STR_PAD_LEFT)."\0".str_pad(decoct(0),11,"0",STR_PAD_LEFT)."\0".str_pad(decoct($in["ctime"]),11,"0",STR_PAD_LEFT)."\0".str_repeat(" ",8)."5".str_repeat("\0",100).str_pad("ustar",6," ")." "."\0".str_pad("",32,"\0").str_pad("",32,"\0").str_repeat("\0",8).str_repeat("\0",8).str_repeat("\0",155).str_repeat("\0",12);
$cm=str_pad(decoct(Ch($hr)),6,"0",STR_PAD_LEFT);
for($i=0;$i<6;$i++){$hr[(148+$i)]=substr($cm,$i,1);}
$hr[154]="\0";
$hr[155]=" ";
fwrite($fpp,$hr);
}

foreach($arrfile as $fl){
if(filesize($fl)>31457280)break;
$in=@stat($fl);
$fp=@fopen($fl,"rb");
$fi=@fread($fp,filesize($fl));
@fclose($fp);
$fl=preg_replace("!^$pq!",'',$fl);
$he=str_pad($fl,100,"\0").str_pad(decoct($in["mode"]),7,"0",STR_PAD_LEFT)."\0".str_pad(decoct($in["uid"]),7,"0",STR_PAD_LEFT)."\0".str_pad(decoct($in["gid"]),7,"0",STR_PAD_LEFT)."\0".str_pad(decoct($in["size"]),11,"0",STR_PAD_LEFT)."\0".str_pad(decoct($in["ctime"]),11,"0",STR_PAD_LEFT)."\0".str_repeat(" ",8)."0".str_repeat("\0",100).str_pad("ustar",6," ")." \0".str_pad("",32,"\0").str_pad("",32,"\0").str_repeat("\0",183);
$cm=str_pad(decoct(Ch($he)),6,"0",STR_PAD_LEFT);
for($i=0;$i<6;$i++){$he[(148+$i)]=substr($cm,$i,1);}
$he[154]="\0";
$he[155]=" ";
$fi=str_pad($fi,(ceil($in["size"]/512)*512),"\0");
fwrite($fpp,$he.$fi);
}

fwrite($fpp,str_repeat("\0",512));
fclose($fpp);



Вот ето то что мне надо было,вот только было бы хорошо есле бы можно было бы исключить одну папку дл добваления в архив....как ето сделать?

ShAnKaR
15.01.2009, 05:04
вон мне надо было тоже logs исключить:

!preg_match('!/log$!',$ffw)

и я это добавил - измени, но честно скажу иногда архив получается кривой когда много файлов, хз почему, толи класс бета то ли я чето намудрил.
а и еще большие файлы он пропускает

if(filesize($fl)>31457280)break;

так как ограничена память для переменных

ПС поиск по форуму рулит?!

Mixon
15.01.2009, 09:34
О,вроде скрипт медсшелл начала паковать,пишет же ошибку что нету архиватора,а архив создает...такчто пока проблема ета временно отпала,а кто может подсказать,есле я пакую много файлов,то через минуту-две срязб рвется,пишет нет ответа от http шлюза,как ето исправить???

oRb
15.01.2009, 11:47
то через минуту-две срязб рвется,пишет нет ответа от http шлюза,как ето исправить???
Хостер рубит скрипт скорее всего, тк тот слишком много ресурсов жрет.
Доступа к сайту кроме как через веб-интерфейс нету? шелл как заливал?

Mixon
15.01.2009, 15:34
Через веб интерфейс-нет,только сшелл висит,а как ето можно его заливать как не просто скрипто мна сайт то? как есчё можно?

Mixon
15.01.2009, 16:01
Вот есчё один вопрос,вопщем есть файл config.php на сайте,в нем есть такие строчки

$db_host='localhost'; //Путь до сервера БД
$db_user='db'; //Имя БД пользователя
$db_pass='123456'; //Пароль пользователя на БД
$db_name='db'; //Имя БД

все скрипты идеально с етими данными работают,а вот когда через сшелл пытаюсь зайти,пишет ошибку

#1045: Access denied for user 'db'@'localhost' (using password: YES)

и всё,хотя ети же самые данные в сшеле ввожу....что скажете?

Mixon
16.01.2009, 17:07
Видимо никто ничё не скажет...

Gorev
16.01.2009, 17:32
а как насчет фильтра по айпи?

хотя у тебя там локалхост..... и кстати не сшелл а шелл ...

Mixon
16.01.2009, 17:36
Всмысле? ip с того которого я или о каком ты вопше говоришь то???

Gorev
16.01.2009, 17:51
понимаешь ли, в некоторых случаях подключится к БД можно только с определённого айпи

Mixon
16.01.2009, 17:55
Ну а на сервере как оно то работает,типо что скрипт сам подключсается к БД с ip сервера чтоли?

KaZ@NoVa
16.01.2009, 18:00
Я тоже помучился с IP фильтрацией, позже разобрался во всём. Если копировать диапазоны прямо из браузера они криво вставляются, поэтому надо перебивать.

PandoraBox
16.01.2009, 18:01
в MySQL к localhost по дефалту есть только доступ, удаленные машины исключены если сисадмин не ламо

и еще в SQL-Front есть класс который грузиш на сервер и через тунель конектишся к скрипту и все ты в локал хосте сервера (визуально)

можно еще там проксь налепить через Гонконг, Токио)))

Mixon
16.01.2009, 19:06
Млин,у меня на етом сайте,на хостинге шелл висит,залитый,как и все обычные скрипты на етом же сайте,так же самое,и вот только все что на сайте есть от админа,то пашут,и работают с мускулом,а когда я пытаюсь подключится так же само ета ошибка,в чем разница??? ну нет же никакой апсолютно,и там скрипт на хосте и там,и там он так подключается и там,и там Я СО СВОЕГО IP смотрю страницу и там...ппц,ну в чём же разницаааа??

Mixon
17.01.2009, 11:42
Всё,с MySQL проблему решил,оказалось неверный пасс я вводил! и никакой фильтрацыи ip ничего нету...просто етот конфиг старым оказалсо...

Mixon
17.01.2009, 15:41
Всё,все вопросы исчерпаны,тему можно CLOSED