NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
DE

Linux-Befehle und Shell-Fähigkeiten

wget: Der Downloader, der niemals schläft

wget ist Curl für Jobs, die in Stunden gemessen werden: Spiegelungen, Archive, rekursive Pulls und Cron-Batches, die ausgeführt werden, während niemand zuschaut. Es führt eine Rekursion durch, berücksichtigt robots.txt, nimmt unterbrochene Übertragungen standardmäßig wieder auf und reguliert sich selbst mit Ratenbegrenzungen und Warteintervallen, was dem Anrufer eine Höflichkeitsrolle überlässt. Die Aufteilung zwischen den beiden Tools ist sauber: wget steht für Masse und Geduld, Curl steht für Präzision, und ein Team, das beides kennt, braucht selten einen dritten Installer.

Kernpunkte

  • Die Spiegelung erfolgt in einer Zeile: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; Wenn Sie --no-parent weglassen, wird ein Dokumentationsarchiv stillschweigend zu einem Crawl von allem, was darüber liegt.
  • Kostenlos fortfahren und erneut versuchen: wget -c nimmt eine unterbrochene Übertragung wieder auf und --tries=10 --waitretry=5 überbrückt Server, die während der Massenverarbeitung Probleme haben, anstatt den Job beim ersten Zucken fehlzuschlagen.
  • Höflichkeit hat Flags: --limit-rate=200k, --wait=1 und --random-wait verhindern, dass ein Spiegel Upstream-Ratenbegrenzungen oder eine Missbrauchsklausel für gemeinsam genutzte Server auslöst; Shared Hosting und ein ungedrosselter Crawler sind eine kurze Freundschaft.
  • robots.txt wird standardmäßig respektiert; -e robots=off überschreibt es absichtlich, und die Verwendung dieser Überschreibung für die Produktionsseite einer anderen Person führt dazu, dass Massendownloads zu Vorfalltickets werden.
  • wget -O /dev/null -nv https://host/health ist eine einzeilige Überwachungsprobe, deren Exit-Codes die Diagnose enthalten: 4 ist ein Netzwerkfehler, 8 ist ein Serverfehler und beide schlagen einen stillen Cron.
  • Die Konvertierung zählt im Nachhinein: --convert-links schreibt eine gespiegelte Site für die Offline-Navigation um und --adjust-extension speichert CMS-generierte Seiten unter Erweiterungen, die lokale Tools bereitstellen können.
  • Massenjobs in Cron erhalten Sperrdateien oder überlappende Läufe schreiben gegenseitig in die halbfertigen Dateien, während --waitretry den Job stillschweigend über sein Fenster hinaus ausdehnt; wget hat keinen internen Mutex.
  • Kennen Sie die Grenze: Formulare, Cookie-intensive Sitzungen und API-Endpunkte gehören zu Curl, und mit JavaScript erstellte Seiten werden als leere Shells gespiegelt, da wget Links und nicht Skripten folgt.

Praxisnotiz

Ein Spiegel ohne --no-parent gelangte über Nacht in 40 Gigabyte der Medienbibliothek eines Kunden und füllte fast die Festplatte. Die Höflichkeitsflags werden einmal gesetzt und anschließend für immer kopiert.

Häufige Fragen

Warum enthält mein Spiegel nur eine Seite?

Scope-Flags haben die Arbeit erledigt, die jemand rückgängig machen wollte: robots.txt-Einschränkungen, --no-parent, eine Tiefenbeschränkung oder die Site, die mit JavaScript gerendert wird. wget folgt den Links, die es sehen kann; Überprüfen Sie -o wget.log, bevor Sie dem Tool die Schuld geben.

Wann sollte ich für einen einzelnen Download „wget“ anstelle von „curl“ wählen?

Für alles, was fortsetzbar oder cron-zuverlässig ist: -c Fortsetzung, integrierte Wiederholungsversuche und Zeitstempel (--timestamping) machen wget zur Wahl für die Zeitspanne mit geringer Aufmerksamkeit; Mit Curl erhalten Sie dasselbe nur, wenn Sie es selbst zusammenbauen.

Ist es legal oder höflich, eine öffentliche Website zu spiegeln?

Der Besitz entscheidet über die Legalität, robots.txt und die Last entscheiden über die Höflichkeit: Respektieren Sie die Robots-Datei, drosseln Sie auf eine menschliche Geschwindigkeit und bevorzugen Sie einen offiziellen Export oder eine offizielle API, sobald das Ziel eine anbietet.

Warum geben einige Websites 403 an einfaches Wget zurück?

User-Agent-Filterung, normalerweise beabsichtigt; --user-agent='Mozilla/5.0' bringt Sie durch, aber eine gefilterte 403 bedeutet auch, dass der Operator zuschaut, daher ist ein Dialog oder eine API der bessere nächste Schritt.

Wie Kinetikatech bei linux-befehle und shell-fähigkeiten hilft

Ehrlich gesagt kommen die meisten Teams zu uns, nachdem sie es erst selbst versucht haben: Die Befehle und Skriptgewohnheiten, die darüber entscheiden, ob ein Administrator einen Server betreibt oder ihn bekämpft: Suchen, Transformieren, Übertragen und Überwachen von Texten und Prozessen mit den Tools, die in jeder Basisinstallation enthalten sind. Unser Linux-Server-Sicherheit und Serververwaltung-Service existiert, damit Sie linux-befehle und shell-fähigkeiten nicht auf die harte Tour lernen müssen: Wir übernehmen Einrichtung, Überwachung und die Überraschungen um 3 Uhr nachts.

Mit einem Ingenieur sprechen

Serverproblem? Gehackte Website? Langsame Seite?

Kritische Störungen in 30 Minuten beantwortet — rund um die Uhr, 7 Tage die Woche.

Notfall-Support anfordern support@kinetikatech.com