Vì vậy, tôi có tập lệnh bash
xuất ra chi tiết trên máy chủ. Vấn đề là tôi cần đầu ra là JSON
. cách tốt nhất để làm việc này là gì? Đây là kịch bản bash:Xuất JSON từ tập lệnh 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
Vì vậy, đầu ra tôi muốn là một cái gì đó như:
{"hostname":"server.domain.com", "distro":"CentOS 6.3", "uptime":"5 days, 22 hours, 1 minutes, 41 seconds"}
Cảm ơn.
Có lý do nào bạn không muốn làm điều này tất cả từ Python? Tôi có nghĩa là, bạn đang sử dụng nó anyway, và Python có thể dễ dàng xác định tên máy, đọc thời gian hoạt động và tạo JSON bạn muốn. – willglynn