]> git.nbdom.net Git - nb.git/commitdiff
etc/profile.d/sys.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 17 May 2019 04:23:15 +0000 (05:23 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 17 May 2019 04:23:15 +0000 (05:23 +0100)
etc/profile.d/nb.sh
etc/profile.d/sys.sh

index 71f0564e41045622698245baa71a909a1f7ec04f..a99fcf9a43016efb4e4b2cb692add9a9ce48fbc1 100644 (file)
@@ -124,13 +124,16 @@ nb_api_post_host_info() {
 
 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
 }
index 15f770ad3550de2f10aa7af3a163aa322df356e1..8c846b62999732fb7a32305c7e74c3ad7666761f 100644 (file)
@@ -3,6 +3,31 @@
 # 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"
@@ -25,26 +50,14 @@ sys_model() {
                        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() {
@@ -181,6 +194,10 @@ sys_mem_used() {
 #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}'
@@ -196,24 +213,15 @@ sys_interfaces() {
 
        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