TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #302 1.41K
Пингование списка хостов с журналом доступности в csv/json

Хочешь следить за доступностью нескольких серверов и записывать статистику? Bash + ping + немного магии - и у тебя реестр доступности в csv или json, пригодный для дальнейшего анализа или графиков.

▪️ Пример списка хостов (hosts.txt):


8.8.8.8
1.1.1.1
bashtex.com
192.168.0.1


▪️ Скрипт пингует все хосты и сохраняет отчет в CSV:


#!/bin/bash
INPUT="hosts.txt"
OUTPUT="ping_log.csv"
DATE=$(date '+%Y-%m-%d %H:%M:%S')

[[ ! -f "$OUTPUT" ]] && echo "timestamp,host,status,latency_ms" > "$OUTPUT"

while read -r host; do
if [[ -n "$host" ]]; then
PING_OUT=$(ping -c 1 -W 1 "$host" 2>/dev/null)
if [[ $? -eq 0 ]]; then
LATENCY=$(echo "$PING_OUT" | awk -F'=' '/time=/{print $4}' | cut -d' ' -f1)
echo "$DATE,$host,UP,$LATENCY" >> "$OUTPUT"
else
echo "$DATE,$host,DOWN,0" >> "$OUTPUT"
fi
fi
done < "$INPUT"


▪️ Пример вывода ping_log.csv:


timestamp,host,status,latency_ms
2025-06-06 12:30:01,8.8.8.8,UP,24.1
2025-06-06 12:30:01,bashtex.com,DOWN,0


▪️ Хочешь в JSON? Добавь это после цикла:


jq -Rn '
[inputs | split(",") | {timestamp: .[0], host: .[1], status: .[2], latency_ms: .[3]}]
' "$OUTPUT" > ping_log.json


(Понадобится jq, либо можно собрать JSON вручную через echo)

BashTex 📱 #bash #utils
  • 👍 7
More from @bash_tex
  1. Oct 9, 2026BashTex 📱 #мем
  2. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  3. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  4. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  5. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  6. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →