Как отправить задания wget через bash-скрипт в condor? - PullRequest
0 голосов
/ 25 января 2019

У меня проблема с отправкой заданий wget в condor. Я могу использовать wget для загрузки файла с URL-адреса с помощью командной строки.

$ wget https://wordpress.org/latest.zip
--2019-01-24 16:43:42--  https://wordpress.org/latest.zip
Resolving wordpress.org... 198.143.164.252
Connecting to wordpress.org|198.143.164.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11383968 (11M) [application/zip]
Saving to: “latest.zip”

100%[======================================>] 11,383,968  --.-K/s   in 0.09s 

2019-01-24 16:43:43 (117 MB/s) - “latest.zip” saved [11383968/11383968]

Но если я сохраню команду в файле сценария bash "test.sh", например:

#!/bin/sh
wget https://wordpress.org/latest.zip

А затем отправьте это кондору:

#!/usr/bin/env condor_submit
Executable = test.sh
Universe = vanilla
output = tmp.out
error = tmp.error
Log = tmp.log
Queue 1

Ошибка «Время ожидания истекло».

--2019-01-24 16:53:50--  https://wordpress.org/latest.zip
Resolving wordpress.org... 198.143.164.252
Connecting to wordpress.org|198.143.164.252|:443... failed: Connection timed out

Но test.sh хорошо работает из командной строки следующим образом:

$./test.sh

Я изменил "tesh.sh" на:

#!/bin/sh
wget --debug --verbose https://wordpress.org/latest.zip

И вывод:

Setting --verbose (verbose) to 1
DEBUG output created by Wget 1.12 on linux-gnu.

--2019-01-24 17:25:58--  https://wordpress.org/latest.zip
Resolving wordpress.org... 198.143.164.252
Caching wordpress.org => 198.143.164.252
Connecting to wordpress.org|198.143.164.252|:443... Closed fd 3
failed: Connection timed out.

1 Ответ

0 голосов
/ 25 января 2019

Я подозреваю, что проблема связана с «https»: сбой рукопожатия SSL / TLS.

Если вы подключаетесь к HTTPS-сайту через веб-браузер, вы используете хранилище доверия браузера (очень часто этоодин и тот же, что и хранилище доверенных сертификатов Windows вашего рабочего стола).

ПРЕДЛОЖЕНИЯ:

  1. Убедитесь, что ваш файл "test.sh" работает из командной строки.

  2. Измените сценарий для запуска wget --debug --trace ... и проверьте вывод.

  3. Если только в целях устранения неполадок, попробуйте тоже --no-check-certificate.

  4. Подробнее см. Здесь:

    GNU Wget 1.18 Руководство


ADDENDUM:

Если вы запустите wget --debug --verbose ..., вы должны увидеть что-то вроде этого:

$ wget --debug --verbose https://wordpress.org/latest.zip
Setting --verbose (verbose) to 1
Setting --verbose (verbose) to 1
DEBUG output created by Wget 1.19.4 on linux-gnu.

Reading HSTS entries from /home/xxxxx/.wget-hsts
URI encoding = ‘UTF-8’
Converted file name 'latest.zip' (UTF-8) -> 'latest.zip' (UTF-8)
--2019-01-24 15:49:12--  https://wordpress.org/latest.zip
Resolving wordpress.org (wordpress.org)... 198.143.164.252
Caching wordpress.org => 198.143.164.252
Connecting to wordpress.org (wordpress.org)|198.143.164.252|:443... connected.
Created socket 3.
Releasing 0x000055afcdc64650 (new refcount 1).
Initiating SSL handshake.
Handshake successful; connected socket 3 to SSL handle 0x000055afcdc64750
certificate:
  subject: CN=*.wordpress.org,OU=Domain Control Validated
  issuer:  CN=Go Daddy Secure Certificate Authority - G2,OU=http://certs.godaddy.com/repository/,O=GoDaddy.com\\, Inc.,L=Scottsdale,ST=Arizona,C=US
X509 certificate successfully verified and matches host wordpress.org

---request begin---
GET /latest.zip HTTP/1.1
User-Agent: Wget/1.19.4 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: wordpress.org
Connection: Keep-Alive
...

Если вы НЕ см. ЛЮБОЙ изэто ... Я бы связался с вашим сетевым администратором по поводу брандмауэра или прокси, которые могут блокировать ваше приложение Condor.

...