
#!/bin/sh
# File	: get_more_filer_info.sh
# By	: Maarten.deBoer@AtosOrigin.com, 091125
# Subject	: Get some more filer info in CSV-format
# (0.2)	: Added; useradmin group, role & ${FILER} at .CVS, RLM status, route -s
# (0.3)	: Added; ifconfig -a, /etc/hosts, rc, vif status
# (0.4) : ${USER} added & test for uuencode + quota, df -g & -s awk extended. Options & /etc/hosts & LUNs added
#(0.5)  : Added; snap list, nbtstat, vscan, ping -c1, usermap.cfg
#set -x
PGM="`basename $0|cut -d. -f1`" 
VERSION="0.5"
FILERS="nlnaf02 nlnaf20"
MAILTO="gmnl-msscentral@atosorigin.com"
#MAILTO="maarten.deboer@atosorigin.com"
UUENC="uuencode"
SSH="ssh -n"
#SSH="rsh"
USER=""

# Test is uuencode exists. Otherwise use cat
type ${UUENC} 1> /dev/null 2>&1
EC=$?
if [ ${EC} -eq 0 ]; then
  UUENC="`type uuencode | awk '{print $3}'`"
else
  UUENC="tee"
fi
echo ${UUENC}

for FILER in ${FILERS}
do
  echo "Filer ${FILER}..."
  ping -c 1 ${FILER} 1> /dev/null 2>&1
  EC=$?
  if [ ${EC} -eq 0 ]; then
    ${SSH} ${USER}${FILER} sysconfig -a|mailx -s ${FILER}-sysconfig-a.txt ${MAILTO}
    ${SSH} ${USER}${FILER} sysconfig -r|mailx -s ${FILER}-sysconfig-r.txt ${MAILTO}
    ${SSH} ${USER}${FILER} rdfile /etc/rc|mailx -s ${FILER}-rc.txt ${MAILTO}
    ${SSH} ${USER}${FILER} rdfile /etc/hosts|mailx -s ${FILER}-hosts.txt ${MAILTO}
    ${SSH} ${USER}${FILER} rdfile /etc/hosts.equiv|mailx -s ${FILER}-hosts-equiv.txt ${MAILTO}
    ${SSH} ${USER}${FILER} ifconfig -a|mailx -s ${FILER}-ifconfig-a.txt ${MAILTO}
    ${SSH} ${USER}${FILER} vif status |mailx -s ${FILER}-vif-status.txt ${MAILTO}
    ${SSH} ${USER}${FILER} useradmin user list|mailx -s ${FILER}-useradmin-user-list.txt ${MAILTO}
    ${SSH} ${USER}${FILER} useradmin group list|mailx -s ${FILER}-useradmin-group-list.txt ${MAILTO}
    ${SSH} ${USER}${FILER} useradmin role list|mailx -s ${FILER}-useradmin-role-list.txt ${MAILTO}
    ${SSH} ${USER}${FILER} exportfs|mailx -s ${FILER}-exportfs.txt ${MAILTO}
    ${SSH} ${USER}${FILER} cifs shares|mailx -s ${FILER}-cifs-shares.txt ${MAILTO}
    ${SSH} ${USER}${FILER} license|mailx -s ${FILER}-license.txt ${MAILTO}
    ${SSH} ${USER}${FILER} vfiler status|mailx -s ${FILER}-vfiler-status.txt ${MAILTO}
    ${SSH} ${USER}${FILER} rlm status|mailx -s ${FILER}-rlm-status.txt ${MAILTO}
    ${SSH} ${USER}${FILER} vol status|grep ' root'| mailx -s ${FILER}-root-volume.txt ${MAILTO}
    ${SSH} ${USER}${FILER} options|mailx -s ${FILER}-options.txt ${MAILTO}
    ${SSH} ${USER}${FILER} route -s| mailx -s ${FILER}-route-s.txt ${MAILTO}
    ${SSH} ${USER}${FILER} lun show|mailx -s ${FILER}-lun-show.txt ${MAILTO}
    ${SSH} ${USER}${FILER} iscsi status|mailx -s ${FILER}-iscsi-status.txt ${MAILTO}
    ${SSH} ${USER}${FILER} snap list|mailx -s ${FILER}-snap-list.txt ${MAILTO}
    ${SSH} ${USER}${FILER} snap sched|mailx -s ${FILER}-snap-sched.txt ${MAILTO}
    ${SSH} ${USER}${FILER} vscan |mailx -s ${FILER}-vscan.txt ${MAILTO}
    ${SSH} ${USER}${FILER} nbtstat |mailx -s ${FILER}-nbtstat.txt ${MAILTO}
    ${SSH} ${USER}${FILER} rdfile /etc/usermap.cfg|mailx -s ${FILER}-usermap-cfg.txt ${MAILTO}

    ${SSH} ${USER}${FILER} df -gA|awk '{print $1";"$2";"$3";"$4";"$5";"}'|${UUENC} ${FILER}-aggr.csv|mailx -s ${FILER}-aggr.csv ${MAILTO}
    ${SSH} ${USER}${FILER} df -g|awk '{print $1";"$2";"$3";"$4";"$5";"}'|${UUENC} ${FILER}-volumes.csv|mailx -s ${FILER}-volumes.csv ${MAILTO}
    ${SSH} ${USER}${FILER} df -s|awk '{print $1";"$2";"$3";"$4";"$5";"}'|${UUENC} ${FILER}-dedupe.csv|mailx -s ${FILER}-dedupe.csv ${MAILTO}
    ${SSH} ${USER}${FILER} qtree status|awk '{print $1";"$2";"$3";"$4";"}'|${UUENC} ${FILER}-qtrees.csv|mailx -s ${FILER}-qtrees.csv ${MAILTO}
    ${SSH} ${USER}${FILER} quota report|awk '{print $1";"$2";"$3";"$4";"$5";"$6";"$7";"$8";"$9";"}'|${UUENC} ${FILER}-quotas.csv|mailx -s ${FILER}-quotas.csv ${MAILTO}
    ${SSH} ${USER}${FILER} snapvault status|awk '{print $1";"$2";"$3";"$4";"}'|${UUENC} ${FILER}-SVs.csv|mailx -s ${FILER}-SVs.csv ${MAILTO}
    ${SSH} ${USER}${FILER} snapmirror status|awk '{print $1";"$2";"$3";"$4";"}'|${UUENC} ${FILER}-SMs.csv|mailx -s ${FILER}-SMs.csv ${MAILTO}

    echo "Information mailed to ${MAILTO}"
  else
    echo "Problem with connection to ${FILER}" | mailx -s "[${PGM} v${VERSION}]" ${MAILTO}
  fi
done

exit

