Загрузка данных


#!/bin/bash
# Использование: ./collect_astra_version.sh servers.txt user password
# servers.txt: строки вида имя:ip
 
SERVERS_FILE="$1"
SSH_USER="$2"
SSH_PASS="$3"
 
OUT_FILE="astra_versions.csv"
echo "server,astra_version" > "$OUT_FILE"
 
while IFS=: read -r NAME IP; do
    [ -z "$NAME" ] && continue
 
    echo "=== $NAME ($IP) ==="
 
    VERSION=$(sshpass -p "$SSH_PASS" ssh \
        -o PreferredAuthentications=password,keyboard-interactive \
        -o PubkeyAuthentication=no \
        -o StrictHostKeyChecking=no \
        -o ConnectTimeout=10 \
        "$SSH_USER@$IP" "cat /etc/astra_version" < /dev/null)
 
    echo "$NAME,$VERSION" >> "$OUT_FILE"
done < "$SERVERS_FILE"