Un comando Wget ejecutado por cron puede cargar la configuración de otro usuario y un entorno distinto del mismo comando en una terminal interactiva.

Para GNU Wget 1.x, coloque los ajustes relevantes de la tarea en un archivo que su cuenta pueda leer:

use_proxy = on
http_proxy = http://proxy.example:8080
https_proxy = http://proxy.example:8080

Un crontab de usuario existente puede seleccionar ese archivo de forma explícita:

15 3 * * * /usr/bin/wget --config=/home/reports/wget-proxy.conf --output-document=/home/reports/report.csv https://data.example/report.csv

Sustituya el ejecutable, la configuración, la ruta de salida y la URL de la tarea. Las rutas absolutas eliminan otra diferencia respecto al directorio de trabajo de un shell interactivo.

De forma predeterminada, Wget lee un archivo de inicio global y luego su archivo de inicio de usuario. WGETRC selecciona la ubicación de este último; de lo contrario, Wget busca $HOME/.wgetrc. Por eso importan el HOME y la cuenta que usa la tarea programada.

Establezca deliberadamente las entradas de proxy necesarias en el archivo elegido. La lista de proxies HTTP puede aportar URL candidatas para descargas públicas de informes en una ruta de proxy público permitida. El .wgetrc de una cuenta root no es automáticamente la configuración de otro usuario, y copiar todo el archivo también puede copiar opciones no relacionadas.

Cuando la configuración coincida, conserve el error real de Wget de la tarea. Una conexión de proxy rechazada, un desafío 407 y un error de certificado del destino exigen pasos siguientes distintos.

Artículos relacionados