Construye un programador de descargas con poca habilidad de programación
A todos nos gusta descargar material de Internet, y hay un montón de excelentes herramientas de administración de descargas que podemos usar para programar nuestras descargas. Puede que sea más fácil usar un administrador de descargas, pero no hay nada de malo en explorar las herramientas que ya vienen con nuestro Ubuntu y hacer un uso completo de él..
En este artículo, le mostraremos un software incorporado en Ubuntu que podemos usar para descargar cosas de Internet usando wget. Además, le mostraremos cómo programar la descarga con Cron.
Descargar utilizando Wget
Wget es un paquete de software gratuito para recuperar archivos mediante HTTP, HTTPS y FTP, los protocolos de Internet más utilizados. Es una herramienta de línea de comandos no interactiva, por lo que puede llamarse fácilmente desde scripts, trabajos cron, terminales sin soporte de X-Windows, etc..
Abre tu terminal y exploremos cómo podemos usar wget para descargar cosas de la red. La sintaxis básica de la descarga con wget es la siguiente:
wget [opción] ... [URL] ...
Este comando descargará el manual de wget en su disco local
wget http://www.gnu.org/software/wget/manual/wget.pdf
Linux Cron
Ubuntu viene con un demonio cron que se usa para programar tareas que se ejecutarán en un momento determinado. Crontab le permite especificar acciones y tiempos en que deben ejecutarse. Así es como normalmente programaría una tarea utilizando la herramienta de línea de comandos.
Abra una ventana de terminal e ingrese crontab -e.
Cada una de las secciones en un crontab está separada por un espacio, y la sección final tiene uno o más espacios en ella. Una entrada cron consta de minuto (0-59), hora (0-23, 0 = medianoche), día (1-31), mes (1-12), día de la semana (0-6, 0 = domingo), comando. La tercera entrada en el crontab anterior descarga wget.pdf a las 2 am. La primera entrada (0) y la segunda entrada (2) significa 2:00. La tercera a la quinta entrada (*) significa cualquier momento del día, mes o semana. La última entrada es el comando wget para descargar wget.pdf desde la URL especificada.
Eso es lo básico en wget y cómo funciona Cron. Tomemos un botín en un ejemplo de la vida real sobre cómo programar una descarga.
Descarga de horarios
Vamos a descargar Firefox 3.6 a las 2 AM. Ya que nuestro ISP solo proporciona una cantidad limitada de datos, debemos detener la descarga a las 8 AM. Así es como se ve la configuración.
Ignora las 2 primeras entradas en el crontab anterior. El tercer y cuarto comando son los únicos 2 comandos que necesita. El tercer comando configura una tarea que descargará Firefox a las 2 AM:
[código]
0 2 * * * wget -c http://download.mozilla.org/?product=firefox-3.6.6&os=win&lang=en-GB
[/código]
Las opciones -c indican que wget debe reanudar la descarga existente si no se ha completado.
El cuarto comando dejará de funcionar a las 8 am. 'Killall' es un comando de Unix que mata los procesos por nombre.
[código]
0 8 * * * killall wget
[/código]
El willa de killall le dice a Ubuntu que deje de descargar el archivo a las 8 am.
Otros comandos wget útiles
1. Especificando el directorio para descargar un archivo.
[código]
wget -output-document = / home / zainul / Downloads / wget manual.pdf http://www.gnu.org/software/wget/manual/wget.pdf
[/código]
La opción -output-document le permite especificar el directorio y el nombre del archivo que descarga.
2. Descargando un sitio web
wget también es capaz de descargar un sitio web.
[código]
wget -m http://www.google.com/profiles/zainul.franciscus
[/código]
El comando anterior descargará mi página web de perfil de google completa. La opción '-m' le dice a wget que descargue una imagen 'espejo' de la URL especificada.
Otra opción importante es indicar a wget cuántos enlaces debe seguir cuando descarga un sitio web.
[código]
wget -r -l1 http://www.google.com/profiles/zainul.franciscus
[/código]
El comando wget anterior utiliza dos opciones. La primera opción '-r' le dice a wget que descargue recursivamente el sitio web especificado. La segunda opción '-l1' le dice a wget que solo obtenga el primer nivel de enlaces de ese sitio web específico. Podemos configurar hasta tres niveles '-l2' y '-l3'.
3. Ignorar la entrada del robot
Web master mantiene un archivo de texto llamado Robot.txt. 'Robot.txt' mantiene una lista de URL que un rastreador de páginas web como wget no debe rastrear. Podemos decirle a wget que ignore la opción 'Robot.txt' con '-erobots = off'. El siguiente comando le dice a wget que descargue la primera página de mi perfil de google e ignore el 'Robot.txt'.
[código]
wget -erobots = desactivado http://www.google.com/profiles/zainul.franciscus
[/código]
Otra opción útil es -U. Esta opción enmascarará wget como un navegador. Tenga en cuenta que enmascarar una aplicación como otra puede violar el término y el servicio de un proveedor de servicios web.
[código]
wget -erobots = off -U Mozilla http://www.google.com/profiles/zainul.franciscus
[/código]
Conclusión
Wget es un paquete de software GNU de la vieja escuela que aún se puede hackear y que podemos usar para descargar archivos. Wget es una herramienta de línea de comandos interactiva, lo que significa que podemos dejar que se ejecute en segundo plano en nuestra computadora sin tener que iniciar ninguna aplicación. Echa un vistazo a la página del hombre wget
[código]
$ man wget
[/código]
Para entender otras opciones que podemos usar con wget..
Campo de golf
Manual de wget
Cómo combinar dos archivos descargados cuando falla wget a mitad de camino
QuickTip de Linux: descarga y desactivación en un solo paso