source: trunk/push-web @ 344

Last change on this file since 344 was 344, checked in by g7moreau, 7 years ago
  • Many small improvment and error &nbsp ->   ...
  • Property svn:executable set to *
File size: 5.7 KB
RevLine 
[85]1#!/bin/bash
2#
3# 2007/10/23 gabriel
4# 2010/11/03 gabriel
5# 2011/03/30 gabriel - make it generic
6
[344]7export PATH=/bin:/sbin:/usr/bin:/usr/sbin
8export LANG=C
9
[85]10SITE_NAME=''
11REMOTE_SERVER=localhost
12REMOTE_USER=''
13REMOTE_FOLDER=/var/www/klask/
14
[292]15GRAPH_MODULO=9
16GRAPH_SHIFT=1
17
[87]18if [ -f /etc/klask/push-web.conf ]
[85]19then
20   . /etc/klask/push-web.conf
21fi
22
[87]23TMP='/tmp/klask-push-web'
[85]24
[87]25
26# remote command
27DOT=/usr/bin/dot
[85]28
[87]29
[344]30mkdir -p ${TMP}
[87]31if [ ! -d ${TMP} ]
[85]32then
33   echo "Error: Folder ${TMP} do not exist !"
34   exit 1
35fi
36cd ${TMP}
37
38
[344]39LOCALTIME=$(date "+%Y-%m-%d %H:%M")
[85]40
41
[344]42klask exportsw --format dot --modulo ${GRAPH_MODULO} --shift ${GRAPH_SHIFT} > ${TMP}/switch-map.txt
[85]43
44
[344]45klask exportdb    > ${TMP}/hostname-db.txt
46klask exportsw    > ${TMP}/switch-db.txt
47klask ip-free     > ${TMP}/ipfree-db.txt
48klask bad-vlan-id > ${TMP}/badvlan-db.txt
[85]49
50
[344]51cat <<END > ${TMP}/index.html
[85]52<html>
53<head>
54 <link rel="stylesheet" type="text/css" href="style-klask.css" />
[102]55 <meta http-equiv="refresh" content="1800">
[85]56 <noscript>
57 </noscript>
58 <script src="sorttable-klask.js"></script>
59 <script>
60function delayedRefresh() {
61 setTimeout( "refresh()", 1800*1000 );
62 }
63
64function refresh() {
65 history.go(0);
66 }
67 </script>
68</head>
69<body onload="delayedRefresh">
70<h1>
[338]71<b><a href="http://servforge.legi.grenoble-inp.fr/projects/klask" class="circle">Klask</a></b>
[337]72Tool for <a href="switch-map.png">mapping</a> (<a href="switch-map.png">png</a>|<a href="switch-map.svg">svg</a>)
[336]73the local network [${LOCALTIME}] - site ${SITE_NAME}
[85]74</h1>
75
[331]76<div id="navbar">
77 <ul>
78  <li id="selected"><a href="index.html">IP detected</a></li>
[336]79  <li><a href="ip-free.html">IP available</a></li>
[344]80  <li><a href="bad-vlan-id.html">VLAN mismatch</a></li>
[331]81 </ul>
82</div>
[85]83
[331]84<div id="content">
[85]85<p>
[336]86The main raw results of Klask are accessible directly, via wget or curl for example, for a specific treatment:
[344]87<a href="hostname-db.txt">Computers DB</a>,
88<a href="switch-db.txt">Switches DB</a>,
[336]89<a href="ipfree-db.txt">IP available</a>,
[344]90<a href="badvlan-db.txt">VLAN mismatch</a>,
91<a href="switch-map.txt">Map dot source</a>.
[85]92</p>
93END
94
[344]95klask exportdb --format html >> ${TMP}/index.html
[85]96
[344]97cat <<END >> ${TMP}/index.html
[341]98</div>
[343]99<p class="copyright">
[341]100Klask (version $(klask version | grep ^Version | cut -f 2 -d ' ')) - $(klask version | grep ^Copyright | cut -f 1 -d '<')
101</p>
[85]102</body>
103</html>
104END
105
106
[344]107cat <<END > ${TMP}/ip-free.html
[85]108<html>
109<head>
110 <link rel="stylesheet" type="text/css" href="style-klask.css" />
[102]111 <meta http-equiv="refresh" content="1800">
[85]112 <script src="sorttable-klask.js"></script>
113</head>
114<body>
115<h1>
[337]116<b><a href="http://servforge.legi.grenoble-inp.fr/projects/klask" class="circle">Klask</a></b>
117Tool for <a href="switch-map.png">mapping</a> (<a href="switch-map.png">png</a>|<a href="switch-map.svg">svg</a>)
[336]118the local network [${LOCALTIME}] - site ${SITE_NAME}
[85]119</h1>
120
[331]121<div id="navbar">
122 <ul>
123  <li><a href="index.html">IP detected</a></li>
[336]124  <li id="selected"><a href="ip-free.html">IP available</a></li>
[344]125  <li><a href="bad-vlan-id.html">VLAN mismatch</a></li>
[331]126 </ul>
127</div>
[85]128
[331]129<div id="content">
[85]130<p>
[336]131The main raw results of Klask are accessible directly, via wget or curl for example, for a specific treatment:
[344]132<a href="hostname-db.txt">Computers DB</a>,
133<a href="switch-db.txt">Switches DB</a>,
[336]134<a href="ipfree-db.txt">IP available</a>,
[344]135<a href="bad-vlan-id-db.txt">VLAN mismatch</a>,
136<a href="switch-map.txt">Map dot source</a>.
[85]137</p>
138END
139
[344]140klask ip-free --format html >> ${TMP}/ip-free.html
[85]141
[344]142cat <<END >> ${TMP}/ip-free.html
[331]143</div>
[343]144<p class="copyright">
[341]145Klask (version $(klask version | grep ^Version | cut -f 2 -d ' ')) - $(klask version | grep ^Copyright | cut -f 1 -d '<')
146</p>
[85]147</body>
148</html>
149END
150
[329]151
[344]152cat <<END > ${TMP}/bad-vlan-id.html
[329]153<html>
154<head>
155 <link rel="stylesheet" type="text/css" href="style-klask.css" />
156 <meta http-equiv="refresh" content="1800">
157 <script src="sorttable-klask.js"></script>
158</head>
159<body>
160<h1>
[337]161<b><a href="http://servforge.legi.grenoble-inp.fr/projects/klask" class="circle">Klask</a></b>
162Tool for <a href="switch-map.png">mapping</a> (<a href="switch-map.png">png</a>|<a href="switch-map.svg">svg</a>)
[336]163the local network [${LOCALTIME}] - site ${SITE_NAME}
[329]164</h1>
165
[331]166<div id="navbar">
167 <ul>
168  <li><a href="index.html">IP detected</a></li>
[336]169  <li><a href="ip-free.html">IP available</a></li>
[344]170  <li id="selected"><a href="bad-vlan-id.html">VLAN mismatch</a></li>
[331]171 </ul>
172</div>
[329]173
[331]174<div id="content">
[329]175<p>
[336]176The main raw results of Klask are accessible directly, via wget or curl for example, for a specific treatment:
[344]177<a href="hostname-db.txt">Computers DB</a>,
178<a href="switch-db.txt">Switches DB</a>,
[336]179<a href="ipfree-db.txt">IP available</a>,
[344]180<a href="bad-vlan-id-db.txt">VLAN mismatch</a>,
181<a href="switch-map.txt">Map dot source</a>.
[329]182</p>
183END
184
[344]185klask bad-vlan-id --format html >> ${TMP}/bad-vlan-id.html
[329]186
[344]187cat <<END >> ${TMP}/bad-vlan-id.html
[341]188</div>
[343]189<p class="copyright">
[341]190Klask (version $(klask version | grep ^Version | cut -f 2 -d ' ')) - $(klask version | grep ^Copyright | cut -f 1 -d '<')
191</p>
[329]192</body>
193</html>
194END
195
196
[95]197if [ "${REMOTE_SERVER}" = "localhost" ]
[85]198then
[344]199   rsync \
[85]200      /usr/share/klask/sorttable-klask.js \
201      /usr/share/klask/style-klask.css \
202      ${TMP}/index.html \
203      ${TMP}/ip-free.html \
[329]204      ${TMP}/bad-vlan-id.html \
[85]205      ${TMP}/*-db.txt \
206      ${TMP}/switch-map.txt \
207      ${REMOTE_FOLDER}/
208
[193]209   [ -x ${DOT} ] && (cd ${REMOTE_FOLDER}; ${DOT} -T svg switch-map.txt > switch-map.svg; ${DOT} -T png switch-map.txt > switch-map.png)
[85]210
211else
[344]212   rsync \
[85]213      /usr/share/klask/sorttable-klask.js \
214      /usr/share/klask/style-klask.css \
215      ${TMP}/index.html \
216      ${TMP}/ip-free.html \
[329]217      ${TMP}/bad-vlan-id.html \
[85]218      ${TMP}/*-db.txt \
219      ${TMP}/switch-map.txt \
220      ${REMOTE_USER}@${REMOTE_SERVER}:${REMOTE_FOLDER}/
221
222
[344]223   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)"
[85]224fi
Note: See TracBrowser for help on using the repository browser.