Tengo un script bash
que muestra los detalles en los servidores. El problema es que necesito que la salida sea JSON
. ¿Cuál es la mejor manera de hacerlo? Aquí está la escritura del golpe:Salida JSON del script Bash
# Get hostname
hostname=`hostname -A` 2> /dev/null
# Get distro
distro=`python -c 'import platform ; print platform.linux_distribution()[0] + " " + platform.linux_distribution()[1]'` 2> /dev/null
# Get uptime
if [ -f "/proc/uptime" ]; then
uptime=`cat /proc/uptime`
uptime=${uptime%%.*}
seconds=$((uptime%60))
minutes=$((uptime/60%60))
hours=$((uptime/60/60%24))
days=$((uptime/60/60/24))
uptime="$days days, $hours hours, $minutes minutes, $seconds seconds"
else
uptime=""
fi
echo $hostname
echo $distro
echo $uptime
lo que la salida que quiero es algo así como:
{"hostname":"server.domain.com", "distro":"CentOS 6.3", "uptime":"5 days, 22 hours, 1 minutes, 41 seconds"}
Gracias.
¿Hay alguna razón por la que no desee hacer todo esto desde Python? Es decir, lo estás usando de todos modos, y Python puede determinar fácilmente el nombre de host, leer el tiempo de actividad y generar el JSON que deseas. – willglynn