nb_api_post_hosts_infos() {
(
- sys_infos
- sys_interfaces | awk 'BEGIN{preff="int."} {print preff""$1".mac\t"$2} $3!="" {print preff""$1".ip\t"$3;}'
+# NB 17.05.19 sys_infos
+ sys_infos arch nproc ips interfaces os date_install mem_total mem_used public_ip
+ sys_interfaces_all | awk 'BEGIN{preff="int."} {print preff""$1".mac\t"$2} $3!="" {print preff""$1".ip\t"$3;}'
+
which lshw > /dev/null && lshw -quiet -class system 2>/dev/null \
| awk '/^ /{sub("^ *","",$0); sub(": ","\t",$0); print $0}' \
;
+
) | while read -ra i; do
echo "sys.${i[0]}" "${i[*]:1}"
- nb_api_post_host_info "sys.${i[0]}" "${i[*]:1}" > /dev/null
+ [ "$1" != "-test" ] && nb_api_post_host_info "sys.${i[0]}" "${i[*]:1}" > /dev/null
done
}
# NB 10.12.16 #*) return ;;
# NB 10.12.16 esac
+sys_infos() {
+ local infos=${@:-arch nproc ips interfaces model os date_install mem_used public_ip}
+ #echo "$infos";
+ local k v
+ for k in $infos; do
+ v="$(sys_$k)"
+ [ -z "$v" ] && continue
+ printf '%s\t%s\n' "$k" "${v//$'\n'/ }"
+ done
+ return
+ local s="$(printf '\t')"
+ echo "\
+arch${s}"$(sys_arch)"
+nproc${s}"$(sys_nproc)"
+ips${s}"$(ips)"
+interfaces${s}"$(sys_interfaces)"
+model${s}"$(sys_model)"
+os${s}"$(sys_os)"
+date_install${s}"$(sys_date_install)"
+mem_total${s}"$(sys_mem_total)"
+mem_used${s}"$(sys_mem_used)"
+public_ip${s}"$(sys_public_ip)"
+" | grep -vE "^[^${s}]+${s}$"
+}
+
sys_watch() {
local opt="$@"
[ -z "$opt" ] && opt="-d"
if [ -e /proc/device-tree/model ]; then
tr -d '\000' < /proc/device-tree/model
elif which lshw > /dev/null; then
- lshw -quiet -class system | awk -F': ' '/product: /{print $2}'
+ lshw -quiet -class system 2>/dev/null | awk -F': ' '/product: /{print $2}'
fi
;;
esac
}
-sys_infos() {
- local s="$(printf '\t')"
- grep -vE "^[^${s}]+${s}$" << EOF
-arch${s}$(sys_arch)
-nproc${s}$(sys_nproc)
-ips${s}$(echo -n $(ips 2>/dev/null))
-interfaces${s}$(echo -n $(sys_interfaces|cut -f1))
-model${s}$(sys_model)
-os${s}$(sys_os)
-date_install${s}$(sys_date_install)
-mem_total${s}$(sys_mem_total)
-mem_used${s}$(sys_mem_used)
-public_ip${s}$( (http_get http://nicolas.boisselier.free.fr/myip/) 2>/dev/null)
-EOF
+sys_public_ip() {
+ myip 2>/dev/null
}
sys_date_install() {
#sys_mem_free() { echo $((`sys_mem_total` - `sys_mem_used`)); }
sys_interfaces() {
+ sys_interfaces_all | cut -f1
+}
+
+sys_interfaces_all() {
(
if which ip > /dev/null; then
ip link | awk -F'(: )|@' '/^[^ ]/{print $2}'
mac=$(echo "$infos" | awk '/ether ([^ ]+)/{print $2}')
[ -z "$mac" ] && continue
- ip=$(echo "$infos" | awk '/^[\t ]*inet /{sub("^[^0-9]*","",$2); sub("/[0-9]+","",$2); {print $2}}')
+ ip=$(echo "$infos" | awk '/^[\t ]*inet /{sub("^[^0-9]*","",$2); sub("/[0-9]+","",$2); {print $2; exit; printf $2" "}}')
printf '%s\t%s\t%s\n' "$int" "$mac" "$ip"
done
}
-# NB 09.04.19 sys_interfaces() {
-# NB 09.04.19 (
-# NB 09.04.19 if which ip > /dev/null; then
-# NB 09.04.19 ip link | awk -F'(: )|@' '/^[^ ]/{print $2}'
-# NB 09.04.19
-# NB 09.04.19 elif which ifconfig > /dev/null; then
-# NB 09.04.19 #ifconfig | awk '/^[^ ]/{print $1}'
-# NB 09.04.19 ifconfig | awk '/^[a-z][^:]+: flags=[0-9]+<[A-Z]+,BROADCAST/{sub(":$","",$1);print $1}'
-# NB 09.04.19
-# NB 09.04.19 fi
-# NB 09.04.19 ) | awk '!x[$0]++ && $1 !~ /^(lo)$/ {print}'
-# NB 09.04.19 }
+sys_ips() {
+ ips 2>/dev/null
+}
ips() {
shell_help "Usage: $FUNCNAME [INTERFACE]. Print ip adresses." "$@" && return 1