tazpanel annotate boot.cgi @ rev 76

Show Panel activity and log a few more things to test (we need date in log() and reverse output on main page)
author Christophe Lincoln <pankso@slitaz.org>
date Tue Apr 12 04:24:35 2011 +0200 (2011-04-12)
parents 1780ef64bcd5
children 25602bc63ca7
rev   line source
pankso@50 1 #!/bin/sh
pankso@50 2 #
pankso@50 3 # Boot CGI script - All what appens before login (grub, rcS, slim)
pankso@50 4 #
pankso@50 5 # Copyright (C) 2011 SliTaz GNU/Linux - GNU gpl v3
pankso@50 6 #
pankso@50 7 echo "Content-Type: text/html"
pankso@50 8 echo ""
pankso@50 9
pankso@50 10 # Common functions from libtazpanel and source main boot config file.
pankso@50 11 . lib/libtazpanel
pankso@50 12 . /etc/rcS.conf
pankso@50 13 get_config
pankso@50 14
pankso@50 15 # Include gettext helper script.
pankso@50 16 . /usr/bin/gettext.sh
pankso@50 17
pankso@50 18 # Export package name for gettext.
pankso@50 19 TEXTDOMAIN='tazpanel'
pankso@50 20 export TEXTDOMAIN
pankso@50 21
pankso@50 22 TITLE="- Hardware"
pankso@50 23
pankso@50 24 #
pankso@50 25 # Commands
pankso@50 26 #
pankso@50 27
pankso@50 28 case "$QUERY_STRING" in
pankso@51 29 daemons*)
pankso@51 30 #
pankso@51 31 # Everything until user login
pankso@51 32 #
paul@52 33 # Start and stop a daemon. I think we dont need restart since 2
paul@52 34 # clicks and you are done
pankso@51 35 case "$QUERY_STRING" in
pankso@51 36 *=start=*)
pankso@51 37 daemon=${QUERY_STRING#*=start=}
pankso@51 38 sleep 1
pankso@51 39 /etc/init.d/$daemon start | log ;;
pankso@51 40 *=stop=*)
pankso@51 41 daemon=${QUERY_STRING#*=stop=}
pankso@51 42 /etc/init.d/$daemon stop | log ;;
pankso@51 43 esac
pankso@51 44 . /etc/rcS.conf
pankso@51 45 TITLE="- Boot"
pankso@51 46 xhtml_header
pankso@67 47
pankso@51 48 cat << EOT
pankso@51 49 <div id="wrapper">
paul@52 50 <h2>`gettext "Manage daemons"`</h2>
pankso@51 51 <p>
paul@52 52 `gettext "Check, start and stop daemons on SliTaz"`
pankso@51 53 </p>
pankso@51 54 </div>
pankso@51 55 EOT
pankso@51 56 # Demon list
pankso@51 57 table_start
pankso@51 58 cat << EOT
pankso@51 59 <thead>
pankso@51 60 <tr>
pankso@51 61 <td>`gettext "Name"`</td>
pankso@51 62 <td>`gettext "Description"`</td>
pankso@51 63 <td>`gettext "Status"`</td>
pankso@51 64 <td>`gettext "Action"`</td>
pankso@51 65 <td>`gettext "PID"`</td>
pankso@51 66 </tr>
pankso@51 67 </thead>
pankso@51 68 EOT
pankso@51 69 cd /etc/init.d
pankso@51 70 list="`ls | sed -e /.sh/d -e /rc./d -e /RE/d -e /daemon/d \
pankso@51 71 -e /firewall/d`"
pankso@51 72 for name in $list
pankso@51 73 do
pankso@51 74 pkg=""
pankso@51 75 pid=""
pankso@51 76 status=""
pankso@51 77 SHORT_DESC=""
pankso@51 78 echo '<tr>'
pankso@51 79 # Name
pankso@51 80 echo "<td>$name</td>"
paul@52 81 # First check if daemon is started at bootime
pankso@51 82 [ echo "RUN_DAEMONS" | fgrep $name ] && boot="on boot"
paul@52 83 # Standard SliTaz busybox daemons and firewall
pankso@51 84 case "$name" in
pankso@51 85 firewall)
pankso@51 86 gettext "<td>SliTaz Firewall with iptable rules</td>" ;;
pankso@51 87 httpd)
pankso@51 88 gettext "<td>Small and fast web server with CGI support</td>" ;;
pankso@51 89 ntpd)
paul@52 90 gettext "<td>Network time protocol daemon</td>" ;;
pankso@51 91 ftpd)
pankso@51 92 gettext "<td>Anonymous FTP server</td>" ;;
pankso@51 93 udhcpd)
pankso@51 94 gettext "<td>Busybox DHCP server</td>" ;;
pankso@51 95 syslogd|klogd)
pankso@51 96 gettext "<td>Linux Kernel log daemon</td>" ;;
pankso@76 97 crond)
pankso@76 98 gettext "<td>Execute scheduled commands</td>" ;;
pankso@76 99 dnsd)
pankso@76 100 gettext "<td>Small static DNS server daemon</td>" ;;
pankso@76 101 tftpd)
pankso@76 102 gettext "<td>Transfer a file on tftp request</td>" ;;
pankso@76 103 inetd)
pankso@76 104 gettext "<td>Listen for network connections and launch programs</td>" ;;
pankso@76 105 zcip)
pankso@76 106 gettext "<td>Manage a ZeroConf IPv4 link-local address</td>" ;;
pankso@51 107 *)
pankso@51 108 # Descrition from receipt
pankso@51 109 [ -d "$LOCALSTATE/installed/$name" ] && pkg=$name
pankso@51 110 [ -d "$LOCALSTATE/installed/${name%d}" ] && pkg=${name%d}
pankso@51 111 [ -d "$LOCALSTATE/installed/${name}-pam" ] && pkg=${name}-pam
pankso@51 112 if [ "$pkg" ]; then
pankso@51 113 . $LOCALSTATE/installed/$pkg/receipt
pankso@51 114 echo "<td>$SHORT_DESC</td>"
pankso@51 115 else
pankso@51 116 echo "<td>----</td>"
pankso@51 117 fi ;;
pankso@51 118 esac
pankso@51 119 # Attemp to get daemon status
pankso@51 120 pidfile=`find /var/run -name *$name*.pid`
pankso@51 121 [ "$pidfile" ] && pid=`cat $pidfile`
pankso@51 122 # dbus
pankso@51 123 [ -f /var/run/${name}/pid ] && pid=`cat /var/run/${name}/pid`
pankso@51 124 # apache
pankso@51 125 [ "$name" = "apache" ] && pid=`cat /var/run/$name/httpd.pid`
pankso@51 126 # Pidof works for many daemon
pankso@51 127 [ "$pid" ] || pid=`pidof $name`
pankso@51 128 if [ "$pid" ]; then
pankso@51 129 echo "<td><img src='$IMAGES/started.png' /></td>"
pankso@51 130 echo "<td><a href='$SCRIPT_NAME?daemons=stop=$name'>
pankso@51 131 <img src='$IMAGES/stop.png' /></a></td>"
pankso@51 132 echo "<td>$pid</td>"
pankso@51 133 else
pankso@51 134 echo "<td>-</td>"
pankso@51 135 echo "<td><a href='$SCRIPT_NAME?daemons=start=$name'>
pankso@51 136 <img src='$IMAGES/start.png' /></a></td>"
pankso@51 137 echo "<td>-----</td>"
pankso@51 138 fi
pankso@51 139 echo '</tr>'
pankso@51 140 done
pankso@51 141 table_end ;;
pankso@50 142 *)
pankso@50 143 #
pankso@51 144 # Default content with summary
pankso@50 145 #
pankso@50 146 . /etc/rcS.conf
pankso@50 147 TITLE="- Boot"
pankso@50 148 xhtml_header
pankso@67 149
pankso@50 150 cat << EOT
pankso@50 151 <div id="wrapper">
pankso@51 152 <h2>`gettext "Boot &amp; Start services"`</h2>
pankso@50 153 <p>
pankso@50 154 `gettext "Everything that appends before user login."`
pankso@50 155 </p>
pankso@50 156 </div>
pankso@51 157 <div>
pankso@51 158 <a class="button" href="$SCRIPT_NAME?daemons">Manage daemons</a>
pankso@51 159 </div>
pankso@51 160
pankso@57 161 <h3>`gettext "Configuration files"`</h3>
pankso@57 162 <ul>
pankso@57 163 <li>`gettext "Main configuration file:"`
pankso@57 164 <a href="index.cgi?file=/etc/rcS.conf">rcS.conf</a></li>
pankso@57 165 <li>`gettext "Grub menu:"`
pankso@57 166 <a href="index.cgi?file=/boot/grub/menu.lst">menu.lst</a></li>
pankso@57 167 <li>`gettext "Login manager settings:"`
pankso@57 168 <a href="index.cgi?file=/etc/slim.conf">slim.conf</a></li>
pankso@73 169 </ul>
pankso@57 170
pankso@50 171 <h3>`gettext "Kernel cmdline"`</h3>
pankso@50 172 <pre>
pankso@50 173 `cat /proc/cmdline`
pankso@50 174 </pre>
pankso@50 175 <h3>`gettext "Local startup commands"`</h3>
pankso@50 176 <pre>
pankso@75 177 $(cat /etc/init.d/local.sh | syntax_highlighter sh)
pankso@50 178 </pre>
pankso@50 179 EOT
pankso@50 180 ;;
pankso@50 181 esac
pankso@50 182
pankso@50 183 xhtml_footer
pankso@50 184 exit 0