simpleBackup

dariuszdl

Avatar: dariuszdl

2011-12-05 13:00

Witam
Dodałem dodatek simpleBackup_v0.1 do QC v.4.2

Po wykonaniu polecenia "Download backup" otrzymuję komunikat: "Błąd: nie wykonano żadnej akcji "

Sprawdziłem poprawność dodania kodu i plików i nic nie znalazłem.

» Quick.Cart v4.x

treewood (OpenSolution)

Avatar: treewood

2011-12-05 14:20

sprawdz czy w katalogu actions_admin/ masz plik backup.php. Jesli tak tzn, ze masz wylaczona funkcje gzopen. Skontaktuj sie z administratorem serwera by ta funkcje wlaczyl

dariuszdl

Avatar: dariuszdl

2011-12-06 17:55

Plik backup.php jest na swoim miejscu.

Administrator serwera odpisał:
"gzopen w php jest standardowo włączone we wszystkich php"

I co teraz???

treewood (OpenSolution)

Avatar: treewood

2011-12-06 19:14

jeszcze moze byc jeden problem z temporary dir. sproboj zrobic tak. edytuj actions_admin/backup.php i zmien:

$sTemporaryDir ini_get'upload_tmp_dir' );

na

$sTemporaryDir 'backup';


Nastepnie stworz katalog "backup" w katalogu glownym gdzie znajduje sie sklep i ustaw mu prawa do zapisu np. 777. I sprawdz teraz czy dziala ok. Jesli nie to wywal linie 4 i 27 czyli

if( function_exists'gzopen' ) ){

i

}

dariuszdl

Avatar: dariuszdl

2011-12-07 12:22

Niestety żadna z metod nie pomogła.

treewood (OpenSolution)

Avatar: treewood

2011-12-07 13:52

dariuszdl - to bez grzebania w kodzie na serwerze Twoim nie jestem w stanie pomoc. Zainstaluj dodatek w wersji oryginalnej i sprawdz dzialanie na innym serwerze bo mozliwe, ze serwer ma jakies dziwne ograniczenia. Dziwny bardzo przypadek.

dariuszdl

Avatar: dariuszdl

2011-12-08 12:32

treewood - Jak zwykle pośpiech jest nie wskazany, a przemęczenie robi swoje.

Źle zamieniłem zamienić linijkę 5 i 8 czyli


$sTemporaryDir 
ini_get'upload_tmp_dir' );


Nie wyrzuciłem "ini_get" i nawiasów. :-0

Po ponownym sprawdzeniu zadziałało i to bez wycinania linii 4 i 27.
Kopia idzie do katalogu "backup" i do mnie na dysk.

PS.
Dla posiadających wiele serwisów do kopiowania warto przyjrzeć się linii 16


$sFile 
'backup_'.date('Y-m-d_H-i').'.zip';


i zamienić słowo "backup" na wyróżnik serwisu.

openzibi

Avatar: openzibi

2011-12-08 16:23

dariuszdl - żeby nie "grzebać" w plikach actions_admin to edycje nazwy pliku można przenieść do pliku językowego

1. W langs/pl.php i innych językach dodajesz

$lang['Download_backup_nazwa_pliku'] = 'test';

gdzie test jest Twoim wyróznikiem nazwy pliku

2. Linie 16 zamieniasz na

$sFile = $lang['Download_backup_nazwa_pliku'].'_backup_'.date('Y-m-d_H-i').'.zip';



-------------------------------------------------------
hosting-domeny-strony - http://www.rhh.pl

selekcjoner

Avatar: selekcjoner

2012-07-23 17:35

dodam tylko, że na serwerach home.pl też występuje błąd i trzeba się zastosować do poleceń treewooda

simlution.org

viwaldi

Avatar: viwaldi

2013-02-10 12:04

witam
przy quick.cart 6 na serwerze home.pl tez jest problem z backupem. po kliknieciu na "pobierz kopie" otwiera sie pusta strona z adresem: "http://xxxxx.home.pl/admin.php?p=backup-download"

ten sam QC (kopia) na hostinger.pl robi kopie normalnie wiec to raczej nie problem samego QC

teoretycznie mozna robic kopie via klient ftp ale wolalbym zeby uzytkownicy nie mieli codziennego dostepu do wszytskich plikow carta (beda sami wprowadzac produkty wiec czeste robienie to podstawa).

czy jest znane jakies rozwiazanie tego problemu?

pozdr
viwaldi

t0ken

Avatar: t0ken

2013-02-12 00:56

Potwierdzam. Dograłem backup na v.6.0 na home.pl i mam taki sam problem jak opisał powyżej viwaldi.

selekcjoner

Avatar: selekcjoner

2013-02-12 10:16

Tak jak podał treewood (ale dla wersji Quick.Cart v6.0)
W pliku admin.php znajdź:

$sTemporaryDir ini_get'upload_tmp_dir' ); 


i zamień na:

$sTemporaryDir 'backup'


oraz "stworz katalog "backup" w katalogu głównym gdzie znajduje się sklep i ustaw mu prawa do zapisu np. 777"

simlution.org

viwaldi

Avatar: viwaldi

2013-02-12 15:29

Dziala :) Wielkie dzieki!

Taki sam problem z q.c6 i nie dzialajacym backupem mialem na hostingu sanfre.eu. Ten rozwiazal sie sam - cos tam padlo, odcinajac mnie od konta, plikow... Dobrze ze mialem swieza kopie u siebie na dysku wiec tylko domene przekierowalem na inne dns.

arnev

Avatar: arnev

2013-06-18 14:35

witam,
a u mnie dalej problemy z simpleBackupem w q.c6 - wersji darmowej.
na początku pojawiała się pusta strona ale po podmiance jaką zaproponował treewood zaczęło ściagać plik zip - problem w tym ze to archwium jest uszkodzone i nie ma w nim zawartości.
w wersji dermowej rozumiem też że nie tworzą się żadne kopie na serwerze z możliwościa przywrócenia?

pozdrawiam.

arnev

treewood (OpenSolution)

Avatar: treewood

2013-06-18 14:49

arnev - nie tworza sie kopie na serwerze. Jedynie pobiera sie archiwum. Sproboj skrypt z zainstalowanym dodatkiem na innym serwerze. Bedziesz wiedzial czy przyczyna lezy po stronie serwera czy skryptu

selekcjoner

Avatar: selekcjoner

2013-06-18 14:53

Jeśli wykonałeś zmiany jakie podał treewood to kopie masz na serwerze w folderze "backup", jednak możliwość przywrócenia kopii z panelu admina jest tylko w wersji płatnej.

simlution.org

PaK

Avatar: PaK

2015-02-13 09:51

quickCMS 5.5

@selekcjoner z doświadczenia wiem iż nawet poprawne stworzenie plików w katalogu ustawionym z ręki nie zawsze pozwala pobrać prawidłowo dobrze wygenerowane pliki.
Na serwerze jednego z popularnych dostawców skrypt po poprawce treewoda generował poprawne pliki ale ich pobieranie przez <B>header</B> w php powodowało zmielenie struktury pliku - w efekcie pobierał się plik o takiej samej nazwie i długości jak ten na serwerze ale o zdecydowanie różnej zawartości.

Rozwiązałem problem tworząc zewnetrzny plik backupu, tworzący na serwerze kopię z nazwą unikatową, i kopię kopii z nazwą stałą.
Poniewaz jak pisałem wyżej header nie za bardzo działał więc i powrót do strony administracyjnej musiał być realizowany przez meta w html-u, a pobieranie i wykonywanie kopii trzeba było podzielić na 2 osobne punkty w menu.

Problem z header wymuszał takie rozwiązanie gdyż wklejenie kodu wykonania backupu bezpośrednio w admin.php powodował konieczność ręcznego przeładowania strony po wykonaniu kopii.

A gdy już wszystko zaczęlo działać poprawnie - administrator serwera doszedł do tego gdzie skopał konfigurację PHP i header już działa poprawnie.
Na wypadek gdyby ktokolwiek miał jeszcze podobny problem prezentuję rozwiązanie partyzanckie.

plik sbk.php do umieszczenia w katalogu głównym strony (najczęściej public_html domeny)

<?php
ob_start
(); 
$sTemporaryDir 'back/'//określenie nazwy katalogu bek'apu
$sFile 'backup'.date('Y-m-d_H-i').'.tgz'//okreslenie nazwy pliku tworzonego backupu
system("tar -cvzf  $sTemporaryDir$sFile files/ database/");   //pakowanie katalogu files i database -cvzf pakuje pakerem gzip, opis innych metod w tresci posta
system("cp -f  $sTemporaryDir$sFile $sTemporaryDir$sFileb");
sleep(5);
ob_end_clean ();
?>
<html>
<meta http-equiv="Refresh" content="1; url=http://twójadresstrony/twojanazwapliku_admin.php">
</html>



modyfikacja pliku _menu.php w templates/admin (w przypadku zainstalowanego wcześniej simplebackup)
zamiast:

 <span class="sep">&nbsp;</span>
 <a href="?p=backup-download"><?php echo $lang['Download_backup']; ?></a>
 <span class="sep">&nbsp;</span>


wstawiamy

<span class="sep">&nbsp;</span>
<a href="sbk.php"><?php echo $lang['Make_backup']; ?></a>
<span class="sep">&nbsp;</span>
<a href="./back/backup.tgz"><?php echo $lang['Download_backup']; ?></a>
<span class="sep">&nbsp;</span>



modyfikacja plików database/translate pl i en musi uwzględniać 2 zamiast 1 opcji czyli zamiast:

$lang['Download_backup'] = "Pobierz kopię";



wstawiamy

$lang['Make_backup'] = "Zrób kopię";
$lang['Download_backup'] = "Pobierz kopię";


tłumaczenie angielskie z racji oczywistości zmian pomijam.

Ponieważ modyfikacja w _menu wywołuje plik zewnetrzny nie trzeba usuwać kodu simplebackupu z pliku admin.php (chyba że ktoś jest mniej leniwy ode mnie i nie lubi niepotrzebnego kodu w pliku).
Zastosowałem systemową kmpresję tar (znowuż z wodzonego lenistwa)aby łatwo kompresować oba katalogi w których uzytkownik wykonuje zmiany.

Jeżeli ktoś uważa ze kompreska tar/gzip jest za słaba można w linii pakowania wymusic pakowanie XM (ok 15%) mocniejsza kompresja zamiast -cvzf dając -cvJf (duże J) w nazwach pliku nalezy .tgz
zmienić wszędzie na .xm (w _menu.php również) - aby uniknąc problemów z późniejszym rozpakowywaniem plikow.



Jak już napisałem wczesniej cała moja partyzantka okazala sie niepotrzebna - poprawiono konfiguracje php serwera i header zaczeło działać poprawnie, umozliwiając takie rozwiązanie jak podałem tutaj:

http://opensolution.org/forum/?iTopic=8369&iPage=99#post-15

Do góry
o nas | kontakt