Вытягиваем хостеров из базы PostgreSQL.

Подойдет для вытягивание данных из любых таблиц. Подключение к БД происходит через SSH-тунель.

CNAME="description"
PARAM="ip, region, speed, gvpe_internal_ip, etc"
CONN="-U USER -h localhost -p 5433 -d DATABASE"
SERVER="mypostgres.com"
 
if [ $# -lt 1 ]; then
    echo "USAGE: $(basename $0) [vpn node] [$PARAM]"
    exit 1
elif [ $# == 1 ]; then
    ssh -f -o ExitOnForwardFailure=yes -L 5433:localhost:5433 $SERVER sleep 1
    psql $CONN -c "SELECT $CNAME FROM servers WHERE domain='$1.vpnunlimitedapp.com';" | head -n3 | tail -n1
    exit 0
elif [[ $# == 2 && $1 == "byip" ]]; then
    ssh -f -o ExitOnForwardFailure=yes -L 5433:localhost:5433 $SERVER sleep 1
    psql $CONN -c "SELECT domain FROM servers WHERE ip='$2';" | head -n3 | tail -n1
    exit 0
elif [ $# == 2 ]; then
    ssh -f -o ExitOnForwardFailure=yes -L 5433:localhost:5433 $SERVER sleep 1
    psql $CONN -c "SELECT $2 FROM servers WHERE domain='$1.vpnunlimitedapp.com';" | head -n3 | tail -n1
    exit 0
else
    echo "To many parameters! Must be 1 or 2. Get $#."
    echo "USAGE: $(basename $0) [vpn node] [$PARAM]"
    exit 1
fi
localhost:5433:DATABASE:USER:PASSWORD

Права на .pgpass

chmod 0600 ~/.pgpass