top of page

Kopiowanie strony internetowej

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.org

Poszczególne parametry oznaczają:

--mirror

Włą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-links

Po 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-extension

Jeś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-requisites

Poleca 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-parent

Gdy 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.

Ostatnie posty

Zobacz wszystkie

Komentarze


bottom of page