1 | #!/bin/bash |
---|
2 | # generateMenuDefault - Crea fichero con la página web de inicio del cliente |
---|
3 | # con información de red y de los sistemas operativos instalados, |
---|
4 | # crea fichero con información del contenido de la caché local. |
---|
5 | |
---|
6 | |
---|
7 | DEVICE=${DEVICE:-"eth0"} |
---|
8 | source /tmp/net-$DEVICE.conf |
---|
9 | FILEINFOHTML=$OGLOG/`ogGetIpAddress`.info.html |
---|
10 | FILEINFOCACHE=$OGLOG/`ogGetIpAddress`.cache.txt |
---|
11 | ogMountCache 2>/dev/null |
---|
12 | CACHECONTENIDO="ls -m $OGCAC/$OGIMG 2>/dev/null" |
---|
13 | |
---|
14 | SPEED=$(LANG=C ethtool $DEVICE 2>/dev/null | awk '$1~/Speed/ {print $2}') |
---|
15 | case "${SPEED,,}" in |
---|
16 | 1000mb/s) ;; |
---|
17 | 100mb/s) SPEED="<font color=\"blue\">$SPEED</font>" ;; |
---|
18 | 10mb/s) SPEED="<font color=\"grey\">$SPEED</font>" ;; |
---|
19 | *) SPEED="<font color=\"red\">$SPEED</font>" ;; |
---|
20 | esac |
---|
21 | DUPLEX=$(LANG=C ethtool $DEVICE 2>/dev/null | awk '$1~/Duplex/ {print $2}') |
---|
22 | case "${DUPLEX,,}" in |
---|
23 | full) ;; |
---|
24 | *) DUPLEX="<font color=\"red\">$DUPLEX</font>" |
---|
25 | esac |
---|
26 | |
---|
27 | CACHESIZEFREE=$(ogGetFreeSize `ogFindCache`) |
---|
28 | if [ $CACHESIZEFREE == 0 ]; then |
---|
29 | echo '0.MB,' > $FILEINFOCACHE |
---|
30 | else |
---|
31 | expr $CACHESIZEFREE / 1024 > $FILEINFOCACHE 2>/dev/null && echo '.MB,' >> $FILEINFOCACHE |
---|
32 | fi |
---|
33 | |
---|
34 | # Crear menú por defecto. |
---|
35 | cat > $FILEINFOHTML << EOT |
---|
36 | <div align="center" style="font-family: Arial, Helvetica, sans-serif;"> |
---|
37 | <p style="color:#999999; font-size: 16px; margin: 2em;"> |
---|
38 | |
---|
39 | <table border="1" width="100%"> |
---|
40 | <tr> |
---|
41 | <td rowspan="2"><p align="left"><img border="0" src="../images/iconos/logoopengnsys.png"><p> </td> |
---|
42 | <td> $MSG_HOSTNAME </td> <td> $MSG_IPADDR </td> <td> $MSG_MACADDR </td> <td> $MSG_SPEED </td> <td> $MSG_DUPLEX </td> </tr> |
---|
43 | <tr> <td>$HOSTNAME </td> <td> $(ogGetIpAddress) </td> <td> $(ogGetMacAddress) </td> <td> $SPEED </td> <td> $DUPLEX </td> </tr> |
---|
44 | </table> |
---|
45 | </p> |
---|
46 | |
---|
47 | <h1>$MSG_MENUTITLE</h1> |
---|
48 | EOT |
---|
49 | |
---|
50 | # Si existe el fichero de configuración creado por el script getConfiguration, ... |
---|
51 | cfgfile=/tmp/getconfig |
---|
52 | if [ -f $cfgfile ]; then |
---|
53 | # Tomar los datos del fichero. |
---|
54 | awk -v boot="$MSG_BOOT" ' |
---|
55 | { n=split($0,sep,";"); |
---|
56 | for (i=1; i<n; i++) { |
---|
57 | split (sep[i],dua,":"); |
---|
58 | if (dua[5]!="" && dua[5]!="DATA") { |
---|
59 | printf ("<p><a href=\"command:bootOs %s %s\">%s %s (%s, %s)</a></p>\n", |
---|
60 | dua[1],dua[2],boot,dua[5],dua[1],dua[2]); |
---|
61 | } |
---|
62 | } |
---|
63 | }' $cfgfile >>$FILEINFOHTML |
---|
64 | else |
---|
65 | # Si no, obtener los datos de los discos. |
---|
66 | for ((d=1; d<=$(ogDiskToDev | wc -w); d++)); do |
---|
67 | for ((p=1; p<=$(ogGetPartitionsNumber $d); p++)); do |
---|
68 | VERSION=$(ogGetOsVersion $d $p 2>/dev/null | cut -f2 -d:) |
---|
69 | [ -n "$VERSION" ] && echo "<p><a href=\"command:bootOs $d $p\">$MSG_BOOT $VERSION ($d, $p)</a></p>" >>$FILEINFOHTML |
---|
70 | done |
---|
71 | done |
---|
72 | fi |
---|
73 | # Añadir opción de apagado. |
---|
74 | cat >> $FILEINFOHTML << EOT |
---|
75 | <p><a href="command:poweroff">$MSG_POWEROFF</a></p> |
---|
76 | </div> |
---|
77 | EOT |
---|
78 | |
---|
79 | # Crear contenido de la caché. |
---|
80 | eval $CACHECONTENIDO >> $FILEINFOCACHE |
---|
81 | |
---|