Comandos de Linux y habilidades de Shell
wget: El descargador que nunca duerme
wget es curl para trabajos medidos en horas: espejos, archivos, extracciones recursivas y lotes cron que se ejecutan mientras nadie mira. Recurre, respeta el archivo robots.txt, reanuda las transferencias interrumpidas de forma predeterminada y se adapta a límites de velocidad e intervalos de espera, lo cual es un rizo de cortesía que deja a la persona que llama. Entre las dos herramientas, la división es clara: wget para volumen y paciencia, curl para precisión, y un equipo que sabe ambas rara vez necesita un tercer instalador.
Puntos clave
- La duplicación es una línea: wget --mirror --convert-links --adjust-extension --no-parent https://docs.example.com; omita --no-parent y un archivo de documentación se convertirá silenciosamente en un rastreo de todo lo que hay encima.
- Reanudar y volver a intentar de forma gratuita: wget -c recupera una transferencia interrumpida y --tries=10 --waitretry=5 soluciona los servidores que fallan a mitad de camino en lugar de fallar el trabajo en la primera contracción.
- La cortesía tiene indicadores: --limit-rate=200k, --wait=1 y --random-wait evitan que un espejo active los límites de velocidad ascendentes o una cláusula de abuso de servidor compartido; El alojamiento compartido más un rastreador ilimitado es una amistad corta.
- robots.txt se respeta de forma predeterminada; -e robots=off lo anula deliberadamente, y usar esa anulación en el sitio de producción de otra persona es la forma en que las descargas masivas se convierten en tickets de incidentes.
- wget -O /dev/null -nv https://host/health es una sonda de monitoreo de una línea cuyos códigos de salida llevan el diagnóstico: 4 es una falla de la red, 8 es un error del servidor y ambos superan un cron silencioso.
- La conversión importa después del hecho: --convert-links reescribe un sitio reflejado para navegación fuera de línea, y --adjust-extension guarda las páginas generadas por CMS bajo extensiones que las herramientas locales pueden servir.
- Los trabajos masivos en cron obtienen archivos bloqueados, o las ejecuciones superpuestas se escriben en los archivos a medio terminar de cada uno mientras --waitretry silenciosamente extiende el trabajo más allá de su ventana; wget no tiene exclusión mutua interna.
- Conozca el límite: los formularios, las sesiones con muchas cookies y los puntos finales de API pertenecen a curl, y las páginas creadas en JavaScript se reflejan como shells vacíos porque wget sigue enlaces, no scripts.
Nota de campo
Un espejo sin --no-parent se adentró en cuarenta gigabytes de la biblioteca multimedia de un cliente durante la noche y casi llenó el disco. Las banderas de cortesía se colocan una vez y se copian para siempre.
Preguntas frecuentes
¿Por qué mi espejo contiene solo una página?
Las banderas de alcance hicieron el trabajo que alguien quería deshacer: restricciones de robots.txt, --no-parent, un límite de profundidad o el sitio renderizado en JavaScript. wget sigue los enlaces que puede ver; marque -o wget.log antes de culpar a la herramienta.
¿Cuándo debo elegir wget en lugar de curl para una sola descarga?
Para cualquier cosa reanudable o confiable para cron: -c continuación, reintentos integrados y marca de tiempo (--timestamping) hacen que wget sea la opción de baja capacidad de atención; curl te da lo mismo sólo si lo montas tú mismo.
¿Es legal o de buena educación reflejar un sitio público?
La propiedad decide lo legal, los robots.txt y la carga deciden de manera educada: respete el archivo de robots, acelere a una velocidad humana y prefiera una exportación oficial o API en el momento en que el objetivo ofrezca una.
¿Por qué algunos sitios devuelven 403 a wget simple?
Filtrado de agente de usuario, generalmente intencional; --user-agent='Mozilla/5.0' te ayuda a pasar, pero un 403 filtrado también significa que el operador está mirando, por lo que un diálogo o una API es el mejor siguiente paso.
Cómo ayuda Kinetikatech con comandos de linux y habilidades de shell
Esto es lo que hacemos cada día: Los comandos y hábitos de secuencias de comandos que deciden si un administrador opera un servidor o lucha contra él: buscar, transformar, transferir y supervisar texto y procesos con las herramientas que se encuentran en cada instalación básica. Nuestro servicio Seguridad de servidores Linux y Gestión de servidores lo cubre de principio a fin: evaluación, implementación, monitoreo 24/7 y respuesta de emergencia en 30 minutos.