tazpanel annotate boot.cgi @ rev 143

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