#!/bin/bash # # 2007/10/23 gabriel # 2010/11/03 gabriel # 2011/03/30 gabriel - make it generic export PATH=/bin:/sbin:/usr/bin:/usr/sbin export LANG=C SITE_NAME='' REMOTE_SERVER=localhost REMOTE_USER='' REMOTE_FOLDER=/var/www/klask/ GRAPH_MODULO=9 GRAPH_SHIFT=1 if [ -f /etc/klask/push-web.conf ] then . /etc/klask/push-web.conf fi TMP='/tmp/klask-push-web' # remote command DOT=/usr/bin/dot mkdir -p ${TMP} if [ ! -d ${TMP} ] then echo "Error: Folder ${TMP} do not exist !" exit 1 fi cd ${TMP} LOCALTIME=$(date "+%Y-%m-%d %H:%M") klask exportsw --format dot --modulo ${GRAPH_MODULO} --shift ${GRAPH_SHIFT} > ${TMP}/switch-map.txt klask exportdb > ${TMP}/hostname-db.txt klask exportsw > ${TMP}/switch-db.txt klask ip-free > ${TMP}/ipfree-db.txt klask bad-vlan-id > ${TMP}/badvlan-db.txt cat < ${TMP}/index.html Klask mapping net-tools

Klask Tool for mapping (png|svg) the local network [${LOCALTIME}] - site ${SITE_NAME}

The main raw results of Klask are accessible directly, via wget or curl for example, for a specific treatment: Computers DB, Switches DB, IP available, VLAN mismatch, Map dot source.

END klask exportdb --format html >> ${TMP}/index.html cat <> ${TMP}/index.html
END cat < ${TMP}/ip-free.html

Klask Tool for mapping (png|svg) the local network [${LOCALTIME}] - site ${SITE_NAME}

The main raw results of Klask are accessible directly, via wget or curl for example, for a specific treatment: Computers DB, Switches DB, IP available, VLAN mismatch, Map dot source.

END klask ip-free --format html >> ${TMP}/ip-free.html cat <> ${TMP}/ip-free.html
END cat < ${TMP}/bad-vlan-id.html

Klask Tool for mapping (png|svg) the local network [${LOCALTIME}] - site ${SITE_NAME}

The main raw results of Klask are accessible directly, via wget or curl for example, for a specific treatment: Computers DB, Switches DB, IP available, VLAN mismatch, Map dot source.

END klask bad-vlan-id --format html >> ${TMP}/bad-vlan-id.html cat <> ${TMP}/bad-vlan-id.html
END if [ "${REMOTE_SERVER}" = "localhost" ] then rsync \ /usr/share/klask/sorttable-klask.js \ /usr/share/klask/style-klask.css \ ${TMP}/index.html \ ${TMP}/ip-free.html \ ${TMP}/bad-vlan-id.html \ ${TMP}/*-db.txt \ ${TMP}/switch-map.txt \ ${REMOTE_FOLDER}/ [ -x ${DOT} ] && (cd ${REMOTE_FOLDER}; ${DOT} -T svg switch-map.txt > switch-map.svg; ${DOT} -T png switch-map.txt > switch-map.png) else rsync \ /usr/share/klask/sorttable-klask.js \ /usr/share/klask/style-klask.css \ ${TMP}/index.html \ ${TMP}/ip-free.html \ ${TMP}/bad-vlan-id.html \ ${TMP}/*-db.txt \ ${TMP}/switch-map.txt \ ${REMOTE_USER}@${REMOTE_SERVER}:${REMOTE_FOLDER}/ ssh ${REMOTE_USER}@${REMOTE_SERVER} "(cd ${REMOTE_FOLDER}; ${DOT} -T svg switch-map.txt > switch-map.svg; ${DOT} -T png switch-map.txt > switch-map.png)" fi