Kopiowanie strony internetowej
- Jędrzej

- 7 gru 2025
- 2 minut(y) czytania
Zaktualizowano: 22 gru 2025

Zastanawialiście się kiedyś jak szybko wykonać kopię zapasową swojej strony internetowej? Jeśli używacie Linuxa, to macie do dyspozycji potężne narzędzie WGET.
Działa też w MacOS, ale musicie najpierw mieć zainstalowany pakiet HomeBrew.
Jeśli masz Maca, przejdź do kolejnego punktu.
Linux
W terminalu wpisz
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.orgPoszczególne parametry oznaczają:
--mirrorWłącza tryb “mirror” — czyli łączy kilka opcji: pobieranie rekurencyjne, nieograniczona głębokość, oraz tzw. “time-stamping” (zapis daty/modyfikacji), co ułatwia ponowne synchronizowanie zawartości. Dzięki temu Wget nadąża za strukturą całej witryny — podkatalogami, podstronami — pobierając (teoretycznie) całość dostępnej treści.
--convert-linksPo zakończeniu pobierania, Wget zmienia wszystkie linki w dokumentach (HTML, CSS, odnośniki, obrazy itp.), tak by wskazywały one na lokalnie pobrane pliki — zazwyczaj jako ścieżki względne. Jeśli link wskazuje na zasób, którego Wget nie pobrał — ten link zostaje przekształcony na pełny adres z nazwą hosta i ścieżką, co zapobiega „zepsutym linkom”. Dzięki temu po pobraniu możesz przeglądać witrynę lokalnie — kliknięcia i nawigacja działają, jakbyś był online (o ile zasoby zostały pobrane).
--adjust-extensionJeśli pobrany zasób ma typ text/html lub application/xhtml+xml, a jego URL nie kończy się na ‘.html’ lub ‘.htm’, Wget przy zapisywaniu pliku dodaje rozszerzenie .html. Dzięki temu plik będzie poprawnie rozpoznany przez przeglądarkę — co bywa istotne, zwłaszcza gdy serwer generuje strony dynamicznie (np. skrypty CGI), a URL kończy się np. ?id=25, bez rozszerzenia. Uwaga: pliki zmienione w ten sposób mogą być ponownie pobierane przy kolejnym mirrorowaniu, bo Wget może nie rozpoznać, że lokalny plik odpowiada URL-owi — jeśli URL bez rozszerzenia nigdy nie wskazał, by to była strona HTML.
--page-requisitesPoleca pobrać wszystkie zasoby niezbędne do prawidłowego wyświetlenia strony, takie jak arkusze stylów (CSS), obrazy, skrypty, czcionki — nie tylko sam plik HTML. Dzięki temu lokalna kopia strony wygląda i działa bardzo podobnie jak oryginał — z obrazkami, stylami itd.
--no-parentGdy Wget działa rekurencyjnie — domyślnie może zacząć też segregować i pobierać “rodziców” w strukturze katalogów (np. wyżej nadrzędne katalogi). --no-parent blokuje to zachowanie — Wget nie wznosi się w górę katalogów. W praktyce oznacza to, że pobierasz tylko treść pod adresem, który podałeś (oraz podstrony/dokumenty poniżej), a nie całą domenę lub nadrzędne katalogi.
MacOS
W przypadku systemów MacOS wget dostępny jest w pakiecie homebrew. Szczegółowe instrukcje instalacji tego pakietu znajdziesz tutaj https://docs.brew.sh/Installation
Po zakończonej instalacji wget zadziała tak samo, jak w systemie Linux.






Komentarze