15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
23.10.2024

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

MetodaNajlepsza dlaWymaga dostępu do serweraObsługuje duże bibliotekiFormat pobierania
cPanel File ManagerSzybkie jednorazowe pobieranieTak (cPanel)Umiarkowanie (limit ZIP ~2 GB)Archiwum ZIP
Klient FTP / SFTPDuże lub bardzo duże bibliotekiTak (dane uwierzytelniające FTP)DoskonaleSurowe pliki
Wtyczka Export Media LibraryUżytkownicy nietech., bez dostępu do serweraNieUmiarkowanieArchiwum ZIP
Panel WordPress (ręcznie)Pojedyncze pliki lub małe partieNieSłaboPojedyncze pliki
Wtyczka do kopii zapasowych (UpdraftPlus itp.)Pełna kopia zapasowa witryny + mediaNieDobrzeWł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

  1. Zaloguj się do cPanel i otwórz File Manager.
  2. 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).
  3. Kliknij prawym przyciskiem myszy folder uploads i wybierz Compress.
  4. Wybierz ZIP Archive jako format i potwierdź ścieżkę docelową.
  5. Poczekaj na zakończenie kompresji — w przypadku dużych folderów może to potrwać kilka minut.
  6. Kliknij prawym przyciskiem myszy wynikowy plik .zip i 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

  1. Otwórz FileZilla i przejdź do File > Site Manager > New Site.
  2. Ustaw protokół na SFTP – SSH File Transfer Protocol.
  3. Wprowadź nazwę hosta lub adres IP serwera, port 22 oraz dane uwierzytelniające SSH/SFTP. Są one dostępne w panelu sterowania hostingu w sekcji FTP Accounts lub SSH Access.
  4. Kliknij Connect.

Pobieranie folderu Uploads

Po połączeniu:

  1. W panelu Remote Site (prawa strona) przejdź do /public_html/wp-content/uploads.
  2. W panelu Local Site (lewa strona) przejdź do docelowego katalogu na swoim komputerze lokalnym.
  3. Kliknij prawym przyciskiem myszy folder uploads w 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 5 lub 10 (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”

  1. W panelu WordPress przejdź do Plugins > Add New.
  2. Wyszukaj Export Media Library (autorstwa zespołu Imagify / WP Rocket).
  3. Zainstaluj i aktywuj wtyczkę.
  4. Przejdź do Media > Export.
  5. 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.
  6. 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ótkim max_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łącz WP_DEBUG_LOG w wp-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ę.

  1. Przejdź do Media > Library w panelu WordPress.
  2. Przełącz się na List View, aby łatwiej identyfikować pliki.
  3. Kliknij element multimedialny, który chcesz pobrać.
  4. W panelu Attachment Details znajdź pole File URL i skopiuj adres URL.
  5. 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.txt

Metoda 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

  1. Zainstaluj i aktywuj UpdraftPlus z repozytorium wtyczek.
  2. Przejdź do Settings > UpdraftPlus Backups.
  3. Kliknij Backup Now. W oknie dialogowym upewnij się, że zaznaczona jest opcja Include your files in the backup (obejmuje wp-content/uploads).
  4. Po zakończeniu tworzenia kopii zapasowej przejdź do zakładki Existing Backups.
  5. 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

  1. Zainstaluj i aktywuj All-in-One WP Migration.
  2. Przejdź do All-in-One WP Migration > Export.
  3. Wybierz File jako miejsce docelowe eksportu.
  4. Wtyczka pakuje bazę danych, motywy, wtyczki i przesłane pliki w jeden plik .wpress.
  5. 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 folder uploads.

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.zip w public_html stanowi 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.gz

Uruchom 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:

  1. Prześlij zawartość folderu uploads do wp-content/uploads/ na nowym serwerze, zachowując strukturę katalogów rok/miesiąc.
  2. 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
  1. 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-root

Jeś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ń:

OgraniczenieZalecana metoda
Biblioteka poniżej 2 GB, dostępny cPanelcPanel File Manager (kompresja ZIP + pobieranie)
Biblioteka powyżej 2 GB, dostępny SSHrsync lub tar + scp przez wiersz poleceń
Biblioteka powyżej 2 GB, tylko FTPFileZilla z wieloma jednoczesnym połączeniami
Brak dostępu do serwera, użytkownik nietech.Wtyczka Export Media Library
Potrzebna pełna migawka witryny do migracjiUpdraftPlus lub All-in-One WP Migration
Potrzeba tylko kilku konkretnych plikówKopiowanie adresu URL z panelu WordPress lub wget
Automatyczna/zaplanowana kopia zapasowa mediówZadanie 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_LOG w wp-config.php przed 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 -l na 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.

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij