Polecenie Wget uruchamiane przez cron może wczytać konfigurację innego użytkownika i inne środowisko niż to samo polecenie w interaktywnym terminalu.

W GNU Wget 1.x umieść odpowiednie ustawienia zadania w pliku, który jego konto może odczytać:

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

Istniejący crontab użytkownika może jawnie wybrać ten plik:

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

Zastąp plik wykonywalny, konfigurację, ścieżkę wyjściową i URL zadania. Ścieżki bezwzględne usuwają kolejną różnicę względem katalogu roboczego interaktywnej powłoki.

Domyślnie Wget najpierw czyta globalny plik startowy, a następnie plik startowy użytkownika. WGETRC wybiera położenie tego drugiego; w przeciwnym razie Wget szuka $HOME/.wgetrc. Dlatego znaczenie mają HOME i konto używane przez zaplanowane zadanie.

Świadomie ustaw potrzebne wpisy proxy w wybranym pliku. Lista proxy HTTP może dostarczyć kandydujące adresy URL do publicznych pobrań raportów na dozwolonej trasie publicznego proxy. Plik .wgetrc konta root nie jest automatycznie konfiguracją innego użytkownika, a skopiowanie całego pliku może skopiować także niepowiązane opcje.

Gdy konfiguracja się zgadza, zachowaj rzeczywisty błąd Wget z zadania. Odrzucone połączenie przez proxy, wyzwanie 407 i błąd certyfikatu celu wymagają różnych kolejnych kroków.

Powiązane artykuły