1 |
#!/bin/bash |
#!/bin/bash |
2 |
|
# $Id$ |
3 |
|
|
4 |
#%rlevels: 3:s 4:s 5:s 0:k 6:k |
#%rlevels: 3:s 0:k |
5 |
#%start: 99 |
#%start: 99 |
6 |
#%stop: 01 |
#%stop: 01 |
7 |
|
|
10 |
#%before: |
#%before: |
11 |
#%after: |
#%after: |
12 |
|
|
13 |
# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/init.d/alxsetstate,v 1.9 2005-10-09 21:35:27 niro Exp $ |
source /etc/conf.d/rc |
|
|
|
|
source /etc/sysconfig/rc |
|
14 |
source $rc_functions |
source $rc_functions |
15 |
|
|
16 |
# mysql settings |
# mysql settings |
17 |
source /etc/alxconfig-ng/config.rc |
source /etc/alxconfig-ng/config.rc |
18 |
|
# helper functions |
19 |
source /usr/lib/alxconfig-ng/functions/mysqlfunctions |
source /usr/lib/alxconfig-ng/functions/mysqlfunctions |
20 |
source /usr/lib/alxconfig-ng/functions/serial_functions |
source /usr/lib/alxconfig-ng/functions/serial_functions |
21 |
|
source /usr/lib/alxconfig-ng/functions/common |
|
# check if mysql is available |
|
|
[ -x /usr/bin/mysql ] && MYSQL_ALX=true |
|
|
|
|
|
# other needed vars |
|
|
ALX_HW_DETECT=false |
|
22 |
|
|
23 |
# unset vars which may kill us |
# unset vars which may kill us |
24 |
unset ALX_SERIAL ALX_STATE ALX_IFACE |
unset ALX_SERIAL ALX_STATE ALX_IFACE |
31 |
ALX_STATE=error |
ALX_STATE=error |
32 |
fi |
fi |
33 |
|
|
34 |
|
if [ -f ${SETTINGSPATH}/confd-networking ] |
35 |
|
then |
36 |
|
ALX_IFACE="$(< ${SETTINGSPATH}/confd-networking)" |
37 |
|
fi |
38 |
[[ -z ${ALX_IFACE} ]] && export ALX_IFACE=eth0 |
[[ -z ${ALX_IFACE} ]] && export ALX_IFACE=eth0 |
39 |
|
|
40 |
# need to put this to an extra init script which will be |
# need to put this to an extra init script which will be |
44 |
{ |
{ |
45 |
local CUR_IP CUR_MAC ID |
local CUR_IP CUR_MAC ID |
46 |
|
|
47 |
echo -e ${COLMAGENTA}"Register system to database"${COLDEFAULT} |
rc_mecho "Register system to database" |
48 |
|
|
49 |
CUR_IP=$(/sbin/ifconfig ${ALX_IFACE} | sed -n '/addr:/s/ [^r]*..//gp') |
CUR_IP=$(/sbin/ifconfig ${ALX_IFACE} | sed -n '/addr:/s/ [^r]*..//gp') |
50 |
CUR_MAC=$(/sbin/ifconfig ${ALX_IFACE} | grep HWaddr | cut -d ' ' -f11) |
CUR_MAC=$(/sbin/ifconfig ${ALX_IFACE} | grep HWaddr | cut -d ' ' -f11) |
55 |
then |
then |
56 |
# abort on non valid serial |
# abort on non valid serial |
57 |
ALX_STATE="invalid serial" |
ALX_STATE="invalid serial" |
58 |
echo "ALX_STATE=${ALX_STATE}" > /etc/alxconfig-ng/state/state |
echo "ALX_STATE=\"${ALX_STATE}\"" > /etc/alxconfig-ng/state/state |
59 |
show_invalid_serial_msg |
show_invalid_serial_msg |
60 |
exit 1 |
exit 1 |
61 |
fi |
fi |
71 |
# nice status |
# nice status |
72 |
$CURS_UP |
$CURS_UP |
73 |
$SET_WCOL |
$SET_WCOL |
74 |
echo "[ U, State: ${ALX_STATE} ]" |
rc_echo "[ SN: ${ALX_SERIAL}, U, ${ALX_STATE} ]" |
75 |
|
|
76 |
mysqldo "update state_connected set |
mysqldo "update state_connected set |
77 |
hostname='${HOSTNAME}', |
hostname='${HOSTNAME}', |
86 |
# nice status |
# nice status |
87 |
$CURS_UP |
$CURS_UP |
88 |
$SET_WCOL |
$SET_WCOL |
89 |
echo "[ N, State: ${ALX_STATE} ]" |
rc_echo "[ SN: ${ALX_SERIAL}, N, ${ALX_STATE} ]" |
90 |
|
|
91 |
mysqldo "insert into state_connected( |
mysqldo "insert into state_connected( |
92 |
serial, |
serial, |
118 |
|
|
119 |
CUR_MAC=$(/sbin/ifconfig ${ALX_IFACE} | grep HWaddr | cut -d ' ' -f11) |
CUR_MAC=$(/sbin/ifconfig ${ALX_IFACE} | grep HWaddr | cut -d ' ' -f11) |
120 |
|
|
121 |
echo -e ${COLMAGENTA}"Unregister system from database"${COLDEFAULT} |
rc_mecho "Unregister system from database" |
122 |
|
|
123 |
|
# nice status |
124 |
|
$CURS_UP |
125 |
|
$SET_WCOL |
126 |
|
rc_echo "[ SN: ${ALX_SERIAL} ]" |
127 |
|
|
128 |
mysqldo "delete from state_connected where serial='${ALX_SERIAL}' and mac='${CUR_MAC}';" |
mysqldo "delete from state_connected where serial='${ALX_SERIAL}' and mac='${CUR_MAC}';" |
129 |
evaluate_retval |
evaluate_retval |