Polecenia systemu Linux i umiejętności powłoki
wget: Program pobierający, który nigdy nie śpi
wget to curl dla zadań mierzonych w godzinach: kopie lustrzane, archiwa, ściąganie rekurencyjne i partie cron, które działają, gdy nikt nie patrzy. Powtarza, honoruje plik robots.txt, domyślnie wznawia przerwane transfery i dostosowuje się do limitów szybkości i interwałów oczekiwania, co jest gestem grzecznościowym pozostawianym dzwoniącemu. Podział pomiędzy tymi dwoma narzędziami jest czysty: wget – objętość i cierpliwość, curl – precyzja oraz zespół, który wie, że oba narzędzia rzadko potrzebują trzeciego instalatora.
Kluczowe punkty
- Kopia lustrzana to jedna linia: wget --mirror --convert-links --just-extension --no-parent https://docs.example.com; omit --no-parent i archiwum dokumentacji po cichu staje się przeszukiwaniem wszystkiego, co jest nad nim.
- Wznów i spróbuj ponownie za darmo: wget -c przywraca przerwany transfer, a --tries=10 --waitretry=5 usuwa serwery, które mają czkawkę w połowie zbiorczo, zamiast zawieść zadanie przy pierwszym szarpnięciu.
- Grzeczność ma flagi: --limit-rate=200k, --wait=1 i --random-wait zapobiegają przekroczeniu przez serwer lustrzany limitów szybkości przesyłania danych lub klauzuli nadużycia serwera współdzielonego; hosting współdzielony plus nieograniczony robot to krótka przyjaźń. Domyślnie respektowany jest plik
- plik robots.txt; -e robots=off zastępuje to celowo, a użycie tego zastąpienia w stosunku do czyjejś witryny produkcyjnej powoduje, że zbiorcze pobieranie zamienia się w zgłoszenia incydentów.
- wget -O /dev/null -nv https://host/health to jednowierszowa sonda monitorująca, której kody zakończenia niosą diagnozę: 4 to awaria sieci, 8 to błąd serwera i oba przewyższają cichy cron.
- Konwersja ma znaczenie po fakcie: --convert-links przepisuje lustrzaną witrynę do nawigacji w trybie offline, a --just-extension zapisuje strony wygenerowane przez CMS w rozszerzeniach, które mogą obsługiwać lokalne narzędzia.
- Zadania masowe w cronie pobierają pliki blokady lub nakładające się przebiegi zapisują się nawzajem w na wpół ukończonych plikach, podczas gdy --waitretry cicho rozciąga zadanie poza swoje okno; wget nie ma wewnętrznego mutexu.
- Poznaj granicę: formularze, sesje obciążone dużą ilością plików cookie i punkty końcowe API należą do curl, a strony zbudowane w JavaScript odzwierciedlają puste powłoki, ponieważ wget podąża za linkami, a nie skryptami.
Notatka z praktyki
Jeden serwer lustrzany bez opcji --no-parent w ciągu nocy zawędrował do czterdziestu gigabajtów biblioteki multimediów klienta i prawie zapełnił dysk. Flagi uprzejmości są ustawiane raz i kopiowane na zawsze.
Częste pytania
Dlaczego moje lustro zawiera tylko jedną stronę?
Flagi zakresu wykonały pracę, którą ktoś chciał cofnąć: ograniczenia w pliku robots.txt, opcja --no-parent, ograniczenie głębokości lub renderowanie witryny za pomocą JavaScript. wget podąża za linkami, które widzi; sprawdź -o wget.log przed obwinieniem narzędzia.
Kiedy powinienem wybrać wget zamiast curl do pojedynczego pobrania?
Dla czegokolwiek, co można wznowić lub na czym polega niezawodność crona: -c kontynuacja, wbudowane ponowne próby i znacznik czasu (--timestamping) sprawiają, że wget jest wyborem zakresu wymagającym niewielkiej uwagi; curl daje ci to samo tylko wtedy, gdy sam go złożysz.
Czy tworzenie kopii lustrzanych witryny publicznej jest legalne i grzeczne?
Własność decyduje o legalności, pliki robots.txt i ładowanie decydują grzecznie: honorują plik robots, ograniczają prędkość do poziomu ludzkiego i preferują oficjalny eksport lub interfejs API, gdy tylko cel go zaoferuje.
Dlaczego niektóre witryny zwracają 403 do zwykłego wget?
Filtrowanie agentów użytkownika, zwykle zamierzone; --user-agent='Mozilla/5.0' umożliwia przejście, ale przefiltrowany błąd 403 oznacza również, że operator patrzy, więc następnym krokiem będzie dialog lub interfejs API.
Jak Kinetikatech pomaga w polecenia systemu linux i umiejętności powłoki
Nie muszą Państwo stawać się ekspertami od polecenia systemu linux i umiejętności powłoki: Polecenia i nawyki związane z tworzeniem skryptów, które decydują o tym, czy administrator obsługuje serwer, czy z nim walczy: przeszukuje, przekształca, przesyła i nadzoruje tekst i procesy za pomocą narzędzi znajdujących się w każdej podstawowej instalacji. Dokładnie do tego służy Bezpieczeństwo serwerów Linux i Zarządzanie serwerami: konfiguracja, hardening, monitoring oraz inżynier dyżurny dzień i noc.