Jak pobrać bibliotekę mediów WordPress: każda metoda wyjaśniona
Tworzenie kopii zapasowej lub migracja biblioteki mediów WordPress oznacza pobranie wszystkiego, co jest przechowywane w wp-content/uploads — katalogu, w którym WordPress zapisuje każdy obraz, wideo, PDF i plik audio dołączony do Twojej witryny. Możesz to zrobić poprzez bezpośredni dostęp do plików serwera (cPanel File Manager lub FTP), dedykowaną wtyczkę WordPress lub narzędzie do tworzenia kopii zapasowej całej witryny, w zależności od rozmiaru witryny, poziomu dostępu do serwera i pilności.
Ten przewodnik omawia wszystkie pięć praktycznych metod z pełną głębią techniczną, w tym pułapki, które zaskakują administratorów, kwestie wydajności dla dużych bibliotek oraz dokładne kroki dla każdego podejścia.
Dlaczego pobieranie biblioteki mediów jest ważne
Folder uploads WordPress nie jest uwzględniany w standardowym eksporcie bazy danych (wp_posts, wp_postmeta itp.). Oznacza to, że sam zrzut MySQL nigdy nie jest kompletną kopią zapasową. Pliki mediów znajdują się całkowicie poza bazą danych — są to zasoby binarne w systemie plików. Każdy plan migracji, przeniesienia serwera lub odtwarzania po awarii, który pomija wp-content/uploads, spowoduje uszkodzone odwołania do obrazów w całej witrynie.
Typowe scenariusze wymagające pełnego pobrania biblioteki mediów:
- Migracja serwera do nowego hosta lub środowiska VPS Hosting
- Lokalne środowisko deweloperskie — pobieranie zasobów produkcyjnych do instancji testowej
- Archiwalna kopia zapasowa przed poważną przebudową motywu lub wtyczki
- Przechowywanie danych dla celów prawnych lub zgodności opublikowanych mediów
- Zwalnianie limitu dysku po przejściu na Shared Web Hosting z bardziej restrykcyjnymi limitami przestrzeni
Porównanie metod w skrócie
| Metoda | Najlepsza dla | Wymaga dostępu do serwera | Obsługuje duże biblioteki | Format pobierania |
|---|---|---|---|---|
| cPanel File Manager | Szybkie jednorazowe pobieranie | Tak (cPanel) | Umiarkowanie (limit ZIP ~2 GB) | Archiwum ZIP |
| Klient FTP / SFTP | Duże lub bardzo duże biblioteki | Tak (dane uwierzytelniające FTP) | Doskonale | Surowe pliki |
| Wtyczka Export Media Library | Użytkownicy nietech., bez dostępu do serwera | Nie | Umiarkowanie | Archiwum ZIP |
| Panel WordPress (ręcznie) | Pojedyncze pliki lub małe partie | Nie | Słabo | Pojedyncze pliki |
| Wtyczka do kopii zapasowych (UpdraftPlus itp.) | Pełna kopia zapasowa witryny + media | Nie | Dobrze | Własny format lub ZIP |
Metoda 1: Pobieranie przez cPanel lub menedżer plików hostingu
To najszybsza metoda, gdy masz dostęp do cPanel, a Twoja biblioteka mediów ma mniej niż około 2 GB bez kompresji. File Manager kompresuje folder po stronie serwera i pozwala pobrać pojedyncze archiwum.
Instrukcja krok po kroku
- Zaloguj się do cPanel i otwórz File Manager.
- Przejdź do
public_html/wp-content/uploads(lub odpowiedniej ścieżki, jeśli WordPress jest zainstalowany w podkatalogu, np.public_html/blog/wp-content/uploads). - Kliknij prawym przyciskiem myszy folder
uploadsi wybierz Compress. - Wybierz ZIP Archive jako format i potwierdź ścieżkę docelową.
- Poczekaj na zakończenie kompresji — w przypadku dużych folderów może to potrwać kilka minut.
- Kliknij prawym przyciskiem myszy wynikowy plik
.zipi wybierz Download.
Krytyczne pułapki
- Limit czasu wykonania PHP: File Manager cPanel kompresuje przy użyciu procesu PHP po stronie serwera. Biblioteki przekraczające ~1,5–2 GB często osiągają limit
max_execution_time, pozostawiając uszkodzone lub niekompletne archiwum. Jeśli tak się stanie, przejdź do Metody 2. - Podwójne liczenie limitu dysku: Kompresja tworzy drugą kopię danych na dysku. Jeśli jesteś blisko limitu, zadanie kompresji zakończy się cichym błędem. Usuń plik ZIP natychmiast po pobraniu.
- Struktura podkatalogów rok/miesiąc: WordPress organizuje przesyłane pliki według daty (
uploads/2024/03/). Plik ZIP zachowa tę hierarchię, co jest prawidłowe — nie spłaszczaj jej przed ponownym importem.
Metoda 2: Pobieranie przez klienta FTP lub SFTP (FileZilla)
FTP/SFTP to profesjonalny standard masowego przesyłania plików. Całkowicie omija limity czasu PHP, obsługuje transfery z możliwością wznowienia i radzi sobie z bibliotekami dowolnej wielkości. SFTP (port 22) jest zdecydowanie preferowany nad zwykłym FTP (port 21), ponieważ szyfruje dane uwierzytelniające i dane podczas przesyłania — co jest kluczowe, jeśli Twój serwer nie wymusza FTPS.
Łączenie za pomocą FileZilla
- Otwórz FileZilla i przejdź do File > Site Manager > New Site.
- Ustaw protokół na SFTP – SSH File Transfer Protocol.
- Wprowadź nazwę hosta lub adres IP serwera, port
22oraz dane uwierzytelniające SSH/SFTP. Są one dostępne w panelu sterowania hostingu w sekcji FTP Accounts lub SSH Access. - Kliknij Connect.
Pobieranie folderu Uploads
Po połączeniu:
- W panelu Remote Site (prawa strona) przejdź do
/public_html/wp-content/uploads. - W panelu Local Site (lewa strona) przejdź do docelowego katalogu na swoim komputerze lokalnym.
- Kliknij prawym przyciskiem myszy folder
uploadsw panelu zdalnym i wybierz Download.
FileZilla umieści w kolejce każdy plik i podkatalog rekurencyjnie. Możesz monitorować postęp transferu w dolnym panelu statusu. Jeśli połączenie zostanie przerwane, kolejka FileZilla obsługuje wznawianie — kliknij prawym przyciskiem myszy kolejkę i wybierz Process Queue, aby kontynuować.
Przyspieszanie dużych transferów
FileZilla domyślnie używa jednego wątku transferu. W przypadku dużych bibliotek zwiększ liczbę jednoczesnych połączeń:
- Przejdź do Edit > Settings > Transfers.
- Ustaw Maximum simultaneous transfers na
5lub10(w zależności od limitów połączeń Twojego serwera).
W środowiskach wiersza poleceń lub zautomatyzowanych skryptach rsync przez SSH jest szybszy i bardziej niezawodny niż graficzny klient FTP:
rsync -avz --progress user@yourserver.com:/var/www/html/wp-content/uploads/ ./local-uploads/Flaga -a zachowuje uprawnienia i znaczniki czasu, -v włącza szczegółowe wyjście, a -z włącza kompresję podczas przesyłania. Jest to preferowana metoda dla administratorów systemów zarządzających wieloma instalacjami WordPress na Dedicated Server.
Metoda 3: Wtyczka Export Media Library
Gdy dostęp na poziomie serwera jest niedostępny — na przykład w zarządzanym planie WordPress lub środowisku współdzielonym, gdzie dane uwierzytelniające FTP są ograniczone — eksport oparty na wtyczce jest najczystszym rozwiązaniem.
Korzystanie z wtyczki „Export Media Library”
- W panelu WordPress przejdź do Plugins > Add New.
- Wyszukaj Export Media Library (autorstwa zespołu Imagify / WP Rocket).
- Zainstaluj i aktywuj wtyczkę.
- Przejdź do Media > Export.
- Wybierz format eksportu. ZIP to standardowy wybór. Niektóre wersje wtyczki oferują również płaską strukturę (wszystkie pliki w jednym katalogu) w porównaniu z domyślną hierarchią folderów rok/miesiąc — zachowaj strukturę folderów, jeśli planujesz ponowny import.
- Kliknij Download i zapisz archiwum lokalnie.
Znane ograniczenia
- Wtyczka generuje plik ZIP w czasie rzeczywistym przy użyciu PHP. Na serwerach z niskim
memory_limit(np. 128 MB) lub krótkimmax_execution_time, eksport zakończy się niepowodzeniem dla dużych bibliotek. - Niektóre środowiska hostingowe ograniczają generowanie ZIP do kilkuset megabajtów. Jeśli pobieranie nie powiedzie się lub wygeneruje uszkodzony plik, sprawdź dziennik błędów PHP pod adresem
wp-content/debug.log(najpierw włączWP_DEBUG_LOGwwp-config.php). - Wtyczka nie eksportuje mediów, które zostały przesłane, a następnie usunięte z Biblioteki mediów, ale których pliki pozostają na dysku. Użyj FTP, aby uzyskać naprawdę wyczerpującą kopię systemu plików.
Metoda 4: Pobieranie pojedynczych plików z Biblioteki mediów WordPress
Ta metoda jest praktyczna tylko do pobierania kilku konkretnych plików. Nie sprawdza się na większą skalę.
- Przejdź do Media > Library w panelu WordPress.
- Przełącz się na List View, aby łatwiej identyfikować pliki.
- Kliknij element multimedialny, który chcesz pobrać.
- W panelu Attachment Details znajdź pole File URL i skopiuj adres URL.
- Wklej adres URL w karcie przeglądarki, następnie kliknij plik prawym przyciskiem myszy i wybierz Save As.
W przypadku nieco większych partii możesz użyć narzędzi deweloperskich przeglądarki lub rozszerzenia przeglądarki do masowego zapisywania otwartych kart, ale pozostaje to nieefektywne powyżej 20–30 plików.
Bardziej skalowalna wariacja: użyj wget z listą adresów URL wyeksportowanych z bazy danych:
wget -i media-urls.txt -P ./downloaded-media/Gdzie media-urls.txt zawiera jeden adres URL załącznika w każdej linii. Możesz wygenerować tę listę za pomocą zapytania WP-CLI:
wp post list --post_type=attachment --field=guid --allow-root > media-urls.txtMetoda 5: Wtyczka do pełnej kopii zapasowej witryny (UpdraftPlus / All-in-One WP Migration)
Wtyczki do tworzenia kopii zapasowych są właściwym wyborem, gdy potrzebujesz biblioteki mediów jako części kompletnej migawki witryny — na przykład przed poważną aktualizacją, migracją serwera lub zmianą hostingu.
UpdraftPlus
- Zainstaluj i aktywuj UpdraftPlus z repozytorium wtyczek.
- Przejdź do Settings > UpdraftPlus Backups.
- Kliknij Backup Now. W oknie dialogowym upewnij się, że zaznaczona jest opcja Include your files in the backup (obejmuje
wp-content/uploads). - Po zakończeniu tworzenia kopii zapasowej przejdź do zakładki Existing Backups.
- Kliknij przycisk komponentu Uploads, aby pobrać tylko archiwum mediów, lub pobierz wszystkie komponenty osobno.
UpdraftPlus dzieli duże kopie zapasowe na wiele segmentów ZIP (domyślnie: po 400 MB), aby uniknąć problemów z pamięcią PHP. Będziesz musiał złożyć te segmenty razem, jeśli wypakowujesz je ręcznie.
All-in-One WP Migration
- Zainstaluj i aktywuj All-in-One WP Migration.
- Przejdź do All-in-One WP Migration > Export.
- Wybierz File jako miejsce docelowe eksportu.
- Wtyczka pakuje bazę danych, motywy, wtyczki i przesłane pliki w jeden plik
.wpress. - Pobierz plik
.wpress. Aby wyodrębnić pliki mediów bez ponownego importowania do WordPress, zmień rozszerzenie na.zip— wewnętrzna struktura jest standardowo kompatybilna z ZIP i zawiera folderuploads.
Kiedy wtyczki do tworzenia kopii zapasowych nie są właściwym narzędziem
Wtyczki do tworzenia kopii zapasowych są zoptymalizowane pod kątem pełnego przywracania witryny, a nie selektywnego wyodrębniania mediów. Jeśli potrzebujesz tylko folderu uploads, narzut związany z pakowaniem bazy danych i wszystkich wtyczek jest zbędny. Użyj FTP lub cPanel do pobierania samych mediów.
Obsługa bardzo dużych bibliotek mediów (10 GB+)
Biblioteki przekraczające 10 GB wymagają innego podejścia, aby uniknąć limitów czasu, wyczerpania pamięci i niekompletnych transferów.
Podziel pobieranie według roku: WordPress organizuje przesłane pliki w podkatalogi uploads/YYYY/MM/. Pobieraj folder jednego roku na raz przez FTP, aby sesje transferu były łatwiejsze do zarządzania.
Użyj tar z kompresją najpierw na serwerze, a następnie pobierz:
tar -czf /tmp/uploads-backup.tar.gz /var/www/html/wp-content/uploads/Następnie pobierz pojedynczy plik .tar.gz przez SFTP lub SCP:
scp user@yourserver.com:/tmp/uploads-backup.tar.gz ./WP-CLI do selektywnego eksportu: Jeśli potrzebujesz tylko mediów dołączonych do opublikowanych wpisów (z wyłączeniem osieroconych załączników), WP-CLI pozwala na selektywne zapytania i kopiowanie:
wp post list --post_type=attachment --post_status=inherit --field=guid --allow-root |
sed 's|https://yourdomain.com||' |
xargs -I {} cp /var/www/html{} ./selective-exports/Kwestie bezpieczeństwa podczas pobierania
- Zawsze używaj SFTP lub SCP zamiast zwykłego FTP. Nieszyfrowany FTP przesyła dane uwierzytelniające w postaci zwykłego tekstu, co jest podatne na exploity w współdzielonych segmentach sieci.
- Jeśli Twoja witryna używa SSL Certificate (HTTPS), upewnij się, że adresy URL mediów są serwowane przez HTTPS, aby zapobiec ostrzeżeniom o mieszanej zawartości podczas ponownego importowania do nowej domeny.
- Po pobraniu natychmiast usuń wszelkie archiwa ZIP z serwera. Publicznie dostępny
uploads-backup.zipwpublic_htmlstanowi poważne ryzyko ujawnienia danych. - Zweryfikuj integralność archiwum po pobraniu, używając sum kontrolnych MD5 lub SHA256, przed usunięciem źródła:
md5sum uploads-backup.tar.gzUruchom to samo polecenie na serwerze przed pobraniem i porównaj wyniki.
Przywracanie pobranej biblioteki mediów
Pobieranie to tylko połowa procesu. Podczas przywracania do nowej instalacji WordPress:
- Prześlij zawartość folderu
uploadsdowp-content/uploads/na nowym serwerze, zachowując strukturę katalogów rok/miesiąc. - Jeśli nazwa domeny uległa zmianie, wykonaj wyszukiwanie i zamianę w bazie danych, aby zaktualizować wszystkie zakodowane na stałe adresy URL mediów:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables --allow-root- Zregeneruj miniatury obrazów po transferze, ponieważ WordPress przechowuje wiele pomniejszonych wersji każdego obrazu i muszą one odpowiadać zarejestrowanym rozmiarom obrazów nowego motywu:
wp media regenerate --allow-rootJeśli migrujesz do nowego VPS with cPanel, File Manager na serwerze docelowym może obsłużyć ponowne przesyłanie bezpośrednio, eliminując potrzebę drugiej sesji FTP.
Macierz decyzyjna
Użyj tej macierzy, aby wybrać właściwą metodę na podstawie swoich konkretnych ograniczeń:
| Ograniczenie | Zalecana metoda |
|---|---|
| Biblioteka poniżej 2 GB, dostępny cPanel | cPanel File Manager (kompresja ZIP + pobieranie) |
| Biblioteka powyżej 2 GB, dostępny SSH | rsync lub tar + scp przez wiersz poleceń |
| Biblioteka powyżej 2 GB, tylko FTP | FileZilla z wieloma jednoczesnym połączeniami |
| Brak dostępu do serwera, użytkownik nietech. | Wtyczka Export Media Library |
| Potrzebna pełna migawka witryny do migracji | UpdraftPlus lub All-in-One WP Migration |
| Potrzeba tylko kilku konkretnych plików | Kopiowanie adresu URL z panelu WordPress lub wget |
| Automatyczna/zaplanowana kopia zapasowa mediów | Zadanie cron rsync na serwerze |
Praktyczna lista kontrolna przed rozpoczęciem
- Potwierdź, że dostępna lokalna przestrzeń dyskowa wynosi co najmniej 1,5x rozmiar folderu
uploads(narzut kompresji) - Sprawdź, czy dane uwierzytelniające FTP/SFTP są aktywne i nie są ograniczone przez białą listę IP
- Włącz
WP_DEBUG_LOGwwp-config.phpprzed użyciem eksportów opartych na wtyczkach, aby przechwytywać błędy PHP - Zanotuj dokładną ścieżkę katalogu głównego WordPress — nie zawsze jest to
public_html(instalacje w podkatalogach są powszechne) - Po pobraniu zweryfikuj liczbę plików: porównaj
find /path/to/uploads -type f | wc -lna serwerze z wyodrębnionym archiwum - Natychmiast usuń archiwa ZIP lub TAR po stronie serwera po pomyślnym pobraniu
FAQ
Czy pobieranie biblioteki mediów eksportuje również rekordy załączników z bazy danych?
Nie. Folder wp-content/uploads zawiera tylko pliki binarne. Metadane załączników — tytuły, tekst alternatywny, podpisy i relacje z wpisami — są przechowywane w tabelach bazy danych wp_posts i wp_postmeta. Kompletna migracja wymaga zarówno pobrania systemu plików, jak i eksportu bazy danych.
Dlaczego moje pobieranie ZIP z cPanel generuje uszkodzone lub niekompletne archiwum?
Prawie zawsze wskazuje to na limit czasu PHP max_execution_time podczas kompresji po stronie serwera. Rozwiązaniem jest zwiększenie limitu czasu w php.ini (max_execution_time = 300), kompresowanie folderu w mniejszych partiach według roku lub przejście na FTP/SFTP do transferu.
Czy mogę pobierać tylko obrazy i wykluczyć filmy, aby zaoszczędzić przepustowość?
Tak. Użycie rsync z flagami --include i --exclude daje precyzyjną kontrolę:
rsync -avz --include="*.jpg" --include="*.png" --include="*.webp"
--exclude="*" user@yourserver.com:/var/www/html/wp-content/uploads/ ./images-only/Czy pobieranie folderu uploads uszkodzi moją działającą witrynę?
Nie. Pobieranie jest operacją tylko do odczytu. FTP, SFTP i cPanel File Manager nie modyfikują plików serwera podczas pobierania. Jedynym ryzykiem jest zużycie miejsca na dysku, jeśli skompresujesz folder po stronie serwera i zapomnisz usunąć archiwum.
Jak znaleźć dokładny rozmiar folderu uploads przed pobraniem?
Uruchom następujące polecenie przez SSH, aby uzyskać czytelną dla człowieka sumę:
du -sh /var/www/html/wp-content/uploads/W cPanel kliknij prawym przyciskiem myszy folder uploads w File Manager i wybierz Calculate Size, aby uzyskać ten sam wynik bez dostępu SSH.
