Topic: suachyvuoja visus failus katalogus esančius serverio-kataloge

Taigi nerandu jokios naudingos info apie suarchyvavimą visų failų katalogų į zip failą yra pvz. daug bet niekas neveikia o darbdavys nori kad padaryčiau nors to ir nemoku... žodžiu kažkokiame užsienio serve reikia su php skriptu viską suarchyvuoti. Gal galit padėti nes jau apmaudas apėmė mane?

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

2 (edited by zygis 2011-02-22 09:18:32)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

system('zip -r backupas.zip /katalogas/kuri/nori/archyvuoti');
MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

zygis wrote:
system('zip -r backupas.zip /katalogas/kuri/nori/archyvuoti');

Tik viena eilutė? Man ji neveikia :)

As tokia radau bet suarchyvuoja sugadinta zip faila

 $filename_no_ext=basename($_SERVER['SCRIPT_FILENAME'], ".php"); 
  header("Content-Type: archive/zip");
  header("Content-Disposition: attachment; filename=$filename_no_ext".".zip");
  $tmp_zip = tempnam ("tmp", "tempname") . ".zip";
  `zip -r $tmp_zip $filename_no_ext`;
  $filesize = filesize($tmp_zip);
  header("Content-Length: $filesize");
  $fp = fopen("$tmp_zip","r");
  echo fpassthru($fp);
  `rm $tmp_zip `;
var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

skuelas wrote:

Tik viena eilutė? Man ji neveikia :)

Tai suinstaliuok zip'ą ir nurodyk pilną kelią iki jo.

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

minde wrote:
skuelas wrote:

Tik viena eilutė? Man ji neveikia :)

Tai suinstaliuok zip'ą ir nurodyk pilną kelią iki jo.

Visa svetainė yra kažkokiame užsienio serve kur  reikia įkelti ten php skriptą kuris viską suarchyvuotų į zip failą nes ten anot darbdavio daug daug failų...

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

skuelas wrote:
minde wrote:
skuelas wrote:

Tik viena eilutė? Man ji neveikia :)

Tai suinstaliuok zip'ą ir nurodyk pilną kelią iki jo.

Visa svetainė yra kažkokiame užsienio serve kur  reikia įkelti ten php skriptą kuris viską suarchyvuotų į zip failą nes ten anot darbdavio daug daug failų...

Tai kame problema, jeigu tau reikia ZIP'o, tai tu jį ir suinstaliuok, kitaip tu ZIP'o nepagaminsi. Serveriuose kažką suarchyvuoti galima ne tik per PHP ir ne tik su zip'u. Būdų yra N.

Taip pat, jeigu toliau kažko klausinėsi - tai nepamiršk iš savo pusės pateikti daugiau informacijos, nes kitaip gausi tik abstrakčius atsakymus (-;

7 (edited by skuelas 2011-02-22 10:40:21)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

minde wrote:
skuelas wrote:
minde wrote:

Tai suinstaliuok zip'ą ir nurodyk pilną kelią iki jo.

Visa svetainė yra kažkokiame užsienio serve kur  reikia įkelti ten php skriptą kuris viską suarchyvuotų į zip failą nes ten anot darbdavio daug daug failų...

Tai kame problema, jeigu tau reikia ZIP'o, tai tu jį ir suinstaliuok, kitaip tu ZIP'o nepagaminsi. Serveriuose kažką suarchyvuoti galima ne tik per PHP ir ne tik su zip'u. Būdų yra N.

O kaip suinstaliuoti? Jei yra paprastesnių būdų tai pasakyk.

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

system('tar -pczf backupas.tar.gz /katalogas/kuri/nori/archyvuoti');

šitas tikrai turėtų būti...

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

zygis wrote:
system('tar -pczf backupas.tar.gz /katalogas/kuri/nori/archyvuoti');

šitas tikrai turėtų būti...

Vistiek daugumoje atveju gali reikėti pilno kelio iki programų leižiamų per system() ir pan. funkcijas. Tai vyksta dėlto, nėra mum įprasto shello erdvės, su jau nustatytais programų paieškos keliais.

Kitas dalykas - žmogui labai reikėjo zip'o (-;

O trečias dalykas - mes nežinome kokia OS yra tame "serveryje".

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

minde wrote:
zygis wrote:
system('tar -pczf backupas.tar.gz /katalogas/kuri/nori/archyvuoti');

šitas tikrai turėtų būti...

Vistiek daugumoje atveju gali reikėti pilno kelio iki programų leižiamų per system() ir pan. funkcijas. Tai vyksta dėlto, nėra mum įprasto shello erdvės, su jau nustatytais programų paieškos keliais.

Kitas dalykas - žmogui labai reikėjo zip'o (-;

O trečias dalykas - mes nežinome kokia OS yra tame "serveryje".

Aš irgi norėčiau žinoti kokia OS... ;) Nu tiek to.

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

taigi turiu visgi skriptą atradęs:

<?php
$sourcePath = realpath('./');
$archiv = new ZipArchive();
$archiv->open('archiv.zip', ZipArchive::CREATE);
$dirIter = new RecursiveDirectoryIterator($sourcePath);
$iter = new RecursiveIteratorIterator($dirIter);
foreach($iter as $element) {
    $dir = str_replace($sourcePath, '', $element->getPath()) . '/';
    if ($element->isDir()) {
        $archiv->addEmptyDir($dir);
    } elseif ($element->isFile()) {
        $file         = $element->getPath() .
                        '/' . $element->getFilename();
        $fileInArchiv = $dir . $element->getFilename();
        $archiv->addFile($file, $fileInArchiv);
    }
}
$archiv->setArchiveComment('Backup ' . $absolutePath);
$archiv->close();
$destinationPath = realpath('./');
$archiv = new ZipArchive();
$archiv->open('archiv.zip');
$archiv->extractTo($destinationPath);

Bet išmeta klaidą va tokią ir man siūlo padaryti taip ir taip bet nemoku... Padėkit :)

ERROR
The requested URL could not be retrieved

While trying to retrieve the URL: http://www...backupbase.php

The following error was encountered:

    * Read Error

The system returned:

    (104) Connection reset by peer

An error condition occurred while reading data from the network. Please retry your request.

Your cache administrator is administrator@...lt.
Generated Tue, 22 Feb 2011 09:09:32 GMT by...lt (squid/2.7.STABLE3)

Na tas skriptas gal ir ok jeigu jis greitai padarytu darba, siuo atveju ilgas darbas ir jis gauna time outa ..
reiktu ziureti galimybe paleisti shell komanda naudojant tokis php funkcija kaisp $output = shell_exec('ls');
grazins drektorijos sarasa
tuomet nepriklausomai ar time out ar nea serveris iki galo atlieka uzduota komanda.

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

Kol neaišku nei kokia serverio OS, nei kokie tiksliai reikalavimai, nei kokia serverio programų ir modulių/bibliotekų padėtis, nei kokios teisės PHP iš vis kažką daryti, tol beprasmiška ką nors toliau čia rašinėt ir spėliot - tiesiog laiko gaišimas.

13 (edited by skuelas 2011-02-22 12:56:13)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

minde wrote:

Kol neaišku nei kokia serverio OS, nei kokie tiksliai reikalavimai, nei kokia serverio programų ir modulių/bibliotekų padėtis, nei kokios teisės PHP iš vis kažką daryti, tol beprasmiška ką nors toliau čia rašinėt ir spėliot - tiesiog laiko gaišimas.

Koks skirtumas  kokoa OS ir pan. svarbu kad skriptas atliktų darbą pvz. šis veikia tik kaip supratau time out gauna... Reikia kažkaip išspęsti man o apie tą serverį tai niekas nieko nežino...

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

Re: suachyvuoja visus failus katalogus esančius serverio-kataloge

Scriptas, kuris veiktų bet kurioje aplinkoje, bus pakankamai brangus. Daug pigiau padaryti veikianti scriptą konkrečiai aplinkai.

Pradėk nuo phpinfo()