🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232551

Re: Ograniczenia hostingu - kompresja zip przez bash lub php

#232551
From: Tadziu
Date: Mon, 25 May 2020 00:31
132 lines
5208 bytes
Lemat wrote:

> W dniu 21.05.2020 o 12:31, Tadziu pisze:
> > Dzień dobry,
> > 
> > mam wykupiony hosting i jak na hostingu bywa są ograniczenia
> > [home.pl]  (jest dostęp przez ssh także)
> > 
> > od parunastu godzin próbuję rozgryźć jak "oszukać" ów hosting co
> > jest  możliwe, bo posiadam na nim parę stron na Joomli i
> > oprogramowanie do  backupu "Akeeba Backup" radzi sobie nawet z
> > paroma, parunastoma GB  danych. Wykonuje to specyficznie tj.
> > rozprasza pakowanie na interwały  czasowe ...
> > 
> > Oczywiście jeśli ja próbuję to zrobić z poziomu prostego skryptu w
> > PHP  to jeśli się wyrobi w ~90 sekundach [mało plików] to jest OK.
> > 
> > Natomiast, jeśli próbuję spakować większy katalog z podkatalogami
> > to  nigdy nie dokończy procesu pakowania, urywa po ~90 sekundach.
> > 
> > 
> > <?php
> > $zipDATING = '_' . date('Y_m_d-H_i-s') . '_';
> > echo '<center><h2>',$zipDATING,'START</center>';
> > 
> > // zaczyna w katalogu gdzie jest i zipuje wszystkie podkatalogi i
> > pliki // tworzy zip-a katalog niżej jako nazwa aktualnego katalogu
> > + data,czas
> > 
> > system("zip -r -1 -u
> > .../arch_".basename(dirname(__FILE__)).$zipDATING."zip ./ ");
> > $zipDATING_stop = '_' . date('Y_m_d-H_i-s') . '_'; echo
> > '<center><h2>',$zipDATING_stop,'STOP</center>'; ?>
> > 
> > Proszę o wskazówki na co zwrócić uwagę, gdzie szukać rozwiązania,
> > dodam  że z mojego zakresu wiedzy i testów set_time_limit(0);
> > proc_nice(20);
> > 
> > lub wciśnięcie usleep(100000);
> > 
> > pętla_start
> > $oFiles[] = $sMyFP;                     // LIST FILE AS DONE
> > $oZip->addFile($sMyFP, $sFilePath);     // APPEND TO THE ZIP FILE
> > usleep(100000);
> > pętla_stop
> > 
> > także nic nie daje,
> > 
> > z góry dziękuję za wskazówki,
> > 
> > pozdrawiam Tadziu.
> > 
> 
> Najpierw poczynię ważne założenie: zzipowanie pojedynczego pliku
> zajmuje mniej niż połowa timeoutu skryptu na hostingu.
> 
> $czas=time();
> pętla
> 	$plik=array_pop($lista_plików_do_zziopwania)
> 	$oZip->addFile($plik);
> 	if ($czas+połowa timeoutu>time()) {
> 		zapisz resztę z listy plików do zzipowania
> 		header('Location: skieruj na siebie');
> 		die();
> 		}
> koniec petli


Dobry wieczór,

dużo się nauczyłem dzięki tej podpowiedzi ...

napisałem skrypt który działa poprawnie i wykonuje się
poprawnie około 1,5 godziny przy ~ 110 sec timeout-u

--------------------------------------------------------
test_header_die.php
--------------------------------------------------------
<?php
ob_start();
$czas=time();
$zipDATING = '_' . date('Y_m_d-H_i-s') . '_';
echo '<center><h4>',$zipDATING,'START</center>';
for ($x = 0; $x <= 200; $x++) {
  echo "The number is: $x <br>";
  sleep(1);
  $zipDATING = '_' . date('Y_m_d-H_i-s') . '_';

$file = 'test.txt';
$roznica = $czas + 115; 

if ( $roznica < time() ) {
        $file = 'test.txt';
        file_put_contents($file, "KONIEC\n\n" , FILE_APPEND | LOCK_EX);
        header("Location: test_header_die.php");
        die();        
}
$zipDATING_stop = '_' . date('Y_m_d-H_i-s') . '_';
echo '<center><h2>',$zipDATING_stop,'STOP</center>';
$czas_roznica=time() - $czas;
echo '<center><h2>',$czas_roznica,' sekund</center>';
?>
--------------------------------------------------------
ale w innym skrypcie gdzie mam już pakowanie do zip-a


--------------------------------------------------------
wycinek przed pętlą
--------------------------------------------------------
$czas = time();
while( $files = array_pop( $files_to_save ) ){

	$relativePath = substr($files, strlen($rootPath) + 1);
	$zip->addFile($files, $relativePath);
		if ( ($czas + $lokalny_tme_out) > time() ){
		$zip->close(); //zamykam zipa
		file_put_contents($plik_kontrolny2_bin, serialize($files_to_save));
		header("Location: zip_another_append_test.php");
		die();
}
}

czy jest jakiś wyjątek w PHP gdzie funkcja time() przestaje mieć rację
bytu?

z góry dziękuję za pomoc

pozdrawiam Tadziu.

-- 
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Technical Details
Message-ID: <raf3kb$tjs$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
References: <ra5la6$uud$1@news.icm.edu.pl> <5ec6b47b$0$17355$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: "Tadziu" <testerr@o_2.pl>
Newsgroups: pl.comp.lang.php
Subject: Re: Ograniczenia hostingu - kompresja zip przez bash lub php
Date: Mon, 25 May 2020 00:31:07 +0000 (UTC)
Organization: ICM, Uniwersytet Warszawski
Lines: 133
Message-ID: <raf3kb$tjs$1@news.icm.edu.pl>
References: <ra5la6$uud$1@news.icm.edu.pl> <5ec6b47b$0$17355$65785112@news.neostrada.pl>
NNTP-Posting-Host: 188.47.14.40.ipv4.supernova.orange.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1590366667 30332 188.47.14.40 (25 May 2020 00:31:07 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Mon, 25 May 2020 00:31:07 +0000 (UTC)
User-Agent: XanaNews/1.21-f3fb89f (x86; Portable ISpell)
X-Antivirus: Avast (VPS 200524-0, 24.05.2020), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit