Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.php > #16343

Re: Ograniczenia hostingu - kompresja zip przez bash lub php

From "Tadziu" <testerr@o_2.pl>
Newsgroups pl.comp.lang.php
Subject Re: Ograniczenia hostingu - kompresja zip przez bash lub php
Date 2020-05-25 00:31 +0000
Organization ICM, Uniwersytet Warszawski
Message-ID <raf3kb$tjs$1@news.icm.edu.pl> (permalink)
References <ra5la6$uud$1@news.icm.edu.pl> <5ec6b47b$0$17355$65785112@news.neostrada.pl>

Show all headers | View raw


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

Back to pl.comp.lang.php | Previous | NextPrevious in thread | Find similar


Thread

Ograniczenia hostingu - kompresja zip przez bash lub php Tadziu <testerr@o2.pl> - 2020-05-21 12:31 +0200
  Re: Ograniczenia hostingu - kompresja zip przez bash lub php Roman Tyczka <noemail@because.no> - 2020-05-21 14:23 +0200
    Re: Ograniczenia hostingu - kompresja zip przez bash lub php "Tadziu" <testerr@o_2.pl> - 2020-05-22 16:03 +0000
  Re: Ograniczenia hostingu - kompresja zip przez bash lub php Rafal Podsiadly <spinacz24@gmail.com> - 2020-05-21 08:49 -0700
    Re: Ograniczenia hostingu - kompresja zip przez bash lub php "Tadziu" <testerr@o_2.pl> - 2020-05-22 16:04 +0000
  Re: Ograniczenia hostingu - kompresja zip przez bash lub php Lemat <#@lemat.priv.pl> - 2020-05-21 19:03 +0200
    Re: Ograniczenia hostingu - kompresja zip przez bash lub php "Tadziu" <testerr@o_2.pl> - 2020-05-22 16:21 +0000
      Re: Ograniczenia hostingu - kompresja zip przez bash lub php Rafal Podsiadly <spinacz24@gmail.com> - 2020-05-23 11:16 -0700
        Re: Ograniczenia hostingu - kompresja zip przez bash lub php Rafal Podsiadly <spinacz24@gmail.com> - 2020-05-23 11:21 -0700
          Re: Ograniczenia hostingu - kompresja zip przez bash lub php Rafal Podsiadly <spinacz24@gmail.com> - 2020-05-23 11:22 -0700
            Re: Ograniczenia hostingu - kompresja zip przez bash lub php "Tadziu" <testerr@o_2.pl> - 2020-05-23 20:57 +0000
    Re: Ograniczenia hostingu - kompresja zip przez bash lub php "Tadziu" <testerr@o_2.pl> - 2020-05-25 00:31 +0000

csiph-web