Могу ли я подключиться к http-ресурсу?

Есть ли способ привязать ресурс, такой как http://someserver.com/logs/server.log?

Это то, что я бы сделал для локального файла.

tail -F /var/logs/somefile.log

Я хотел бы что-то похожее на файл для доступа по протоколу http

3 ответа

Я написал простой сценарий bash для получения содержимого URL каждые 2 секунды и сравнения с локальным файлом output.txt затем добавьте разницу в тот же файл

Я хотел транслировать журналы расширения AWS в моем конвейере Jenkins

while true; do comm -13 --output-delimiter="" <(cat output.txt) <(curl -s "$URL") >> output.txt; sleep 2; done

не забудьте создать пустой файл output.txt файл сначала

: > output.txt

просмотреть трансляцию:

tail -f output.txt

Лучшее решение:

Я нашел лучшее решение, используя wget здесь:

while true; do wget -ca -o /dev/null -O output.txt "$URL"; sleep 2; done

/questions/588093/kak-vklyuchit-vse-metodyi-http-na-http-servere-apache/588110#588110

Это сделает это:

#!/bin/bash

file=$(mktemp)
trap 'rm $file' EXIT

(while true; do
    # shellcheck disable=SC2094
    curl --fail -r "$(stat -c %s "$file")"- "$1" >> "$file"
done) &
pid=$!
trap 'kill $pid; rm $file' EXIT

tail -f "$file"

Это не очень дружелюбно на веб-сервере. Вы могли бы заменить true с sleep 1 быть менее ресурсоемким.

подобно tail -f, вам нужно ^C когда вы закончите смотреть вывод, даже когда вывод сделан.

Я пытаюсь htail ( https://github.com/vpelletier/htail) и, похоже, справляется со своей задачей довольно хорошо.

Вы можете использовать скрипт из https://stackoverflow.com/a/1102346/401005 если вы можете запускать скрипты php. Вы должны добавить flush(); после echo,

Когда используешь curl --no-buffer http://the/url у вас должен быть подходящий выход

Если вы хотите тип программы дозорного, как мне нужно (обновлять только когда вы отвечаете)

#!/bin/bash

while true; do
    echo "y to curl, n to quit"
    read -rsn1 input

    if [ "$input" = "y" ]; then
        curl $1
    elif [ "$input" = "n" ]; then
        break
    fi
done

Тогда беги curlTail.sh http://wherever

Ты получишь

18:02:44] $: ~ \> curlTail.sh http://wherever
y to curl, n to quit

Когда вы нажмете "у", он свернется, а затем снова предложит вам.

Другие вопросы по тегам