Как запустить загрузку с сайта с задержкой

He aquí una posible solución. Funciona como tal:

$./format_date.sh 092533
2018-05-17 09:25:33
#!/bin/bash

format_time(){
    point=0
    while [ "$point" -le "${#1}" ];
    do
        string=$string"${1:$point:2}"
        if [ "$point" -lt "$((${#1}-2))"  ]
        then
        string=$string":"
        fi
        point=$((point+2))
    done
    echo "$string"
}

echo "$(date +'%Y-%m-%d')" "$( format_time "$1" )"

Esto aprovecha la sustitución de parámetros, típica de bashy ksh, por lo que se adapta a sus etiquetas de pregunta, pero no es adecuado para POSIX /bin/shya que el formulario ${variable:position:offset}no funciona en POSIX /bin/sh.

0
17.06.2019, 22:33
1 ответ

Это не выглядит многообещающе. Следующее было максимально близко к тому варианту, который вы ищете, который я мог найти. curlничего лучше не предложил.

Я почти уверен, что тайм-аут (обратный отсчет )был разработан, чтобы помешать именно этому типу деятельности.

-T seconds,--timeout=seconds

Установите время ожидания сети в секундах. Это эквивалентно указав --dns-timeout,--connect-timeoutи --read-timeout, Все одновременно.

При взаимодействии с сетью Wget может проверять тайм-аут и прервать операцию, если она занимает слишком много времени. Это предотвращает аномалии как зависшие чтения и бесконечные соединения. Единственный включенный тайм-аут по умолчанию тайм-аут чтения составляет 900 -секунд. Установка тайм-аута на 0 вообще отключает. Если вы не знаете, что делаете, это лучше не менять настройки времени ожидания по умолчанию.

Все параметры, связанные с тайм-аутом -, принимают десятичные значения, а также значения доли секунды. Например, 0,1 секунды допустимо (, хотя неразумный )выбор тайм-аута. Тайм-ауты в доли секунды полезны для проверка времени отклика сервера или тестирование сетевой задержки.

--dns-timeout=seconds

Установите время ожидания поиска DNS в секундах. DNS-запросы, которые не завершить в течение указанного времени не удастся. По умолчанию, нет тайм-аута при поиске DNS, кроме того, который реализован системные библиотеки.

--connect-timeout=seconds

Установите время ожидания соединения в секундах. TCP-соединения, которые установка займет больше времени, будет прервана. По умолчанию нет время ожидания подключения, отличное от того, что реализовано системными библиотеками.

--read-timeout=seconds

Задайте время ожидания чтения (и записи )в секундах. «Время» г. этот тайм-аут относится к простою :, еслив любой момент загрузки, данные не принимаются дольше указанного количества секунд, чтение завершается ошибкой, и загрузка начинается заново. Этот вариант не напрямую влияют на продолжительность всей загрузки.

Разумеется, удаленный сервер может разорвать соединение. раньше, чем требует этот вариант. Тайм-аут чтения по умолчанию составляет 900 секунд. секунды.

Хотя вы могли бы написать что-то подобное:

#!/bin/sh -

# an attempt to pause long enough for countdown before opening an accept port

wget https://some/long/url/download-file

sleep 9

exit

ХТХ

0
28.01.2020, 03:35

Теги

Похожие вопросы