Wszystko, co warto wiedzieć, zanim zainstalujesz.
Szczegółowe spojrzenie na to, jak działa Kopia zapasowa PrestaShop 8 i 9: baza i pliki, szyfrowana S3 i FTP, dlaczego zbudowaliśmy go w ten sposób i jaka myśl stoi za powyższymi funkcjami.
Prawdziwa kopia zapasowa, a nie sklecony skrypt
Większość modułów kopii zapasowych do PrestaShop ogranicza się do wywołania mysqldump i spakowania katalogu sklepu, co w produkcji rodzi trzy problemy: mysqldump nie jest dostępny na większości hostingów współdzielonych, shell_exec bywa wyłączony ze względów bezpieczeństwa, a niezaszyfrowane archiwa leżące na dysku to bomba z opóźnionym zapłonem w razie włamania. dfbackup rozwiązuje wszystkie trzy: zrzut bazy w czystym PHP, archiwizacja przez ZipArchive i opcjonalne uwierzytelnione szyfrowanie AES-256 z hasłem użytkownika. Całość działa na hostingach współdzielonych (home.pl, nazwa.pl, cyber_Folks, OVH, Hostinger, panele Plesk) bez szczególnej konfiguracji.
Szyfrowanie AES-256 z HMAC: encrypt-then-MAC zrobione poprawnie
Wzorzec encrypt-then-MAC to standard rekomendowany przez kryptografów dla schematów symetrycznych: najpierw szyfrujemy, potem liczymy HMAC z szyfrogramu i wektora IV. Przy odczycie weryfikujemy HMAC przed odszyfrowaniem, co chroni przed atakami typu bit-flip i padding oracle. Hasło użytkownika przechodzi przez PBKDF2-SHA256 ze 120000 iteracjami, aby wyprowadzić osobny klucz szyfrujący i osobny klucz HMAC (po 32 bajty każdy). Format binarny z wektorem IV, HMAC-iem i szyfrogramem jest udokumentowany, możliwy do audytu i odczytywalny dowolnym narzędziem zgodnym z OpenSSL. Samo hasło nigdy nie jest przechowywane jawnie: zapisywany jest wyłącznie jego hash z password_hash na potrzeby weryfikacji.
Natywne S3 SigV4: multipart, MinIO, R2, OVH, Scaleway, Wasabi i B2
Zamiast dołączać oficjalne SDK AWS (które waży kilka MB i wymusza Composera), dfbackup implementuje bezpośrednio AWS Signature V4 w cURL. Około stu linii kodu, zero zewnętrznych zależności i kanoniczny podpis zgodny ze wszystkimi usługami mówiącymi w S3. Możesz skierować dfbackup na Amazon S3 w regionie eu-central-1, na własne MinIO na swoim VPS, na Cloudflare R2 (10 GB za darmo i zerowy koszt transferu wychodzącego), na OVH Object Storage, Scaleway, Wasabi albo Backblaze B2, a wszystkie zadziałają po zmianie samego endpointu i regionu w ustawieniach. Powyżej 100 MB upload automatycznie przełącza się w tryb multipart z częściami po 10 MB, co pozwala przesłać archiwum wielogigabajtowe bez wysycania pamięci.
Replikacja push: nocny staging bez pracy administratora
To funkcja, która wyróżnia dfbackup: możliwość wypychania każdej kopii do drugiej instalacji PrestaShop. Instalujesz dfbackup na produkcji i na środowisku staging, współdzielisz wspólny sekret i zaznaczasz Replikację jako cel składowania. Przy każdej kopii (ręcznej albo zaplanowanej) archiwum jest przesyłane partiami po 8 MB podpisanymi HMAC-SHA-256 do dedykowanego kontrolera front po stronie docelowej. Jeśli po stronie docelowej włączona jest opcja automatycznego przywracania, kopia jest stosowana automatycznie, więc Twój staging jest następnego ranka aktualny z danymi z poprzedniego dnia. Koniec z rsync, skryptami crona po stronie administratora, ręcznymi transferami FTP i licencjami na narzędzia typu ManageWP.
Przywracanie jednym kliknięciem z siatką bezpieczeństwa
Przywracanie kopii to najbardziej ryzykowna operacja w cyklu życia sklepu: nadpisujemy żywą bazę wcześniejszą wersją, podmieniamy wszystkie pliki, a jeśli coś pójdzie nie tak, powrót jest skomplikowany. dfbackup dodaje automatyczną siatkę bezpieczeństwa: przed każdym przywracaniem po cichu tworzona jest migawka samej bazy. Jeśli przywracanie zawiedzie w połowie (uszkodzone archiwum, błąd SQL, brak miejsca na dysku), przywracasz tę migawkę i wracasz do stanu wyjściowego w kilka minut. Sama tabela dfbackup nigdy nie jest nadpisywana podczas przywracania, więc Twoja historia kopii pozostaje nienaruszona nawet wtedy, gdy przywracasz wersję sprzed pół roku.
Kopie w tle: jedno kliknięcie i logi na żywo
Klasyczne doświadczenie przycisku Uruchom kopię w PHP: klikasz, przeglądarka zamarza na 5 do 15 minut, użytkownik myśli, że się zawiesiło, klika ponownie, ruszają dwie kopie równolegle i blokada kończy się błędem. dfbackup rozbija ten wzorzec na dwa etapy: kliknięcie prealokuje wiersz w bazie, wyzwala self-call cURL do dedykowanego kontrolera front i natychmiast zwraca identyfikator (poniżej 500 ms). Przeglądarka od razu pokazuje pasek postępu i odpytuje logi w czasie rzeczywistym, więc widzisz przewijające się 15 etapów (start, zrzut bazy, archiwizacja plików, szyfrowanie, wyliczanie sumy kontrolnej, upload do każdego backendu, rotacja). Kopia działa we własnym procesie PHP, całkowicie odseparowanym od żądania użytkownika. Działa we wszystkich trybach PHP: FPM, mod_php i FastCGI.
Planowanie: natywny cron PS plus zapasowy web-cron
Na hostingach współdzielonych, które nie dają dostępu do crona systemowego, hook actionCronJob w PrestaShop uruchamia się wyłącznie wtedy, gdy ktoś odwiedza sklep, co nie jest idealne do planowania nocnej kopii. dfbackup dostarcza zapasowy web-cron: adres podpisany tokenem (regenerowalnym z BO), który usługa zewnętrzna w rodzaju cron-job.org albo EasyCron wywołuje co najmniej raz na godzinę. Moduł wewnętrznie weryfikuje skonfigurowaną godzinę docelową (na przykład 03:00 codziennie) i uruchamia kopię wyłącznie w przewidzianym oknie. Deduplikacja w oknie 60 minut zapobiega podwójnym uruchomieniom. Kontroler front webcron przechodzi przez dispatcher PrestaShop, więc działa nawet wtedy, gdy hosting blokuje bezpośredni dostęp do plików PHP w katalogu modułów.
Dziennik audytu, alerty w BO i migawka przed aktualizacją: obrona w głąb
Trzy uzupełniające się mechanizmy, które zapobiegają utracie kopii bez Twojej wiedzy. Dziennik audytu śledzi każdą wrażliwą akcję (uruchomienie, przywracanie, usunięcie, weryfikacja, pobranie) wraz z pracownikiem, adresem IP i znacznikiem czasu, co pomaga odtworzyć przebieg zdarzeń po incydencie. Alert w back office wyświetla żółty albo czerwony baner na górze wszystkich stron administracyjnych, jeśli ostatnia kopia się nie powiodła albo jest starsza niż 7 dni, więc nie da się o tym zapomnieć. Migawka przed aktualizacją uruchamia się automatycznie przed każdą aktualizacją zainstalowanego modułu: jeśli aktualizacja coś zepsuje, przywracasz jednym kliknięciem. Każdy z tych trzech mechanizmów można włączać i wyłączać niezależnie w Ustawieniach.
Na razie nie ma opinii o produkcie.