source: trunk/push-web @ 344

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