Magellan Linux

Diff of /alx-src/branches/alxconf-060/init.d/alxsetstate

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

alx-src/branches/alxconf_20060908/alxconfig-ng/init.d/alxsetstate revision 543 by niro, Wed Feb 4 19:51:39 2009 UTC alx-src/branches/alxconf-060/init.d/alxsetstate revision 3482 by niro, Mon Apr 16 08:38:27 2012 UTC
# Line 1  Line 1 
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    
# Line 9  Line 10 
10  #%before:  #%before:
11  #%after:  #%after:
12    
13  # $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/init.d/alxsetstate,v 1.10 2005-10-26 11:57:00 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  source /usr/lib/alxconfig-ng/functions/mysqlfunctions  # helper functions
19  source /usr/lib/alxconfig-ng/functions/serial_functions  source ${ALX_FUNCTIONS}/mysqlfunctions
20    source ${ALX_FUNCTIONS}/serial_functions
21  # check if mysql is available  source ${ALX_FUNCTIONS}/common
 [ -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
# Line 47  fi Line 42  fi
42  # nice name is alx_connected_state or sth like this  # nice name is alx_connected_state or sth like this
43  set_current_network_state()  set_current_network_state()
44  {  {
45   local CUR_IP CUR_MAC ID   local cur_ip cur_mac cur_mtime 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)
51   CUR_MTIME=$(date +%s)   cur_mtime=$(date +%s)
52    
53   # validate current serial   # validate current serial
54   if ! validate_serial "${ALX_SERIAL}" "${ALX_REG_DATE}" "${CUR_MAC}"   if ! validate_serial "${ALX_SERIAL}" "${ALX_REG_DATE}" "${cur_mac}"
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   local CONFIG="/etc/alxconfig-ng/state/state"
59     clearconfig
60     addconfig "ALX_STATE=\"${ALX_STATE}\""
61   show_invalid_serial_msg   show_invalid_serial_msg
62   exit 1   exit 1
63   fi   fi
64    
65   # first check if an entry exist with my serial   # first check if an entry exist with my serial
66   # if it exist update this entry else insert a new one   # if it exist update this entry else insert a new one
67   ID=$(mysqldo "select serial from state_connected where serial=${ALX_SERIAL};")   id=$(mysqldo "select serial from state_connected where serial=${ALX_SERIAL};")
68    
69   if [ -n "${ID}" ]   if [ -n "${id}" ]
70   then   then
71   # run an update   # run an update
72    
73   # nice status   # nice status
74   $CURS_UP   $CURS_UP
75   $SET_WCOL   $SET_WCOL
76   echo "[ U, State: ${ALX_STATE} ]"   rc_echo "[ SN: ${ALX_SERIAL}, U, ${ALX_STATE} ]"
77    
78   mysqldo "update state_connected set   mysqldo "update state_connected set
79   hostname='${HOSTNAME}',   hostname='${HOSTNAME}',
80   ip='${CUR_IP}',   ip='${cur_ip}',
81   mac='${CUR_MAC}',   mac='${cur_mac}',
82   state='${ALX_STATE}',   state='${ALX_STATE}',
83   mtime='${CUR_MTIME}'   mtime='${cur_mtime}'
84   where serial=${ALX_SERIAL};"   where serial=${ALX_SERIAL};"
85   else   else
86   # run an insert   # run an insert
# Line 91  set_current_network_state() Line 88  set_current_network_state()
88   # nice status   # nice status
89   $CURS_UP   $CURS_UP
90   $SET_WCOL   $SET_WCOL
91   echo "[ N, State: ${ALX_STATE} ]"   rc_echo "[ SN: ${ALX_SERIAL}, N, ${ALX_STATE} ]"
92    
93   mysqldo "insert into state_connected(   mysqldo "insert into state_connected(
94   serial,   serial,
# Line 104  set_current_network_state() Line 101  set_current_network_state()
101   values(   values(
102   '${ALX_SERIAL}',   '${ALX_SERIAL}',
103   '${HOSTNAME}',   '${HOSTNAME}',
104   '${CUR_IP}',   '${cur_ip}',
105   '${CUR_MAC}',   '${cur_mac}',
106   '${ALX_STATE}',   '${ALX_STATE}',
107   '${CUR_MTIME}'   '${cur_mtime}'
108   );"   );"
109   fi   fi
110  }  }
# Line 118  set_current_network_state() Line 115  set_current_network_state()
115  # nice name is alx_connected_state or sth like this  # nice name is alx_connected_state or sth like this
116  unset_alx_connected()  unset_alx_connected()
117  {  {
118   local SQL_OPTS   local cur_mac
119   local CUR_MAC  
120     cur_mac=$(/sbin/ifconfig ${ALX_IFACE} | grep HWaddr | cut -d ' ' -f11)
121    
122   CUR_MAC=$(/sbin/ifconfig ${ALX_IFACE} | grep HWaddr | cut -d ' ' -f11)   rc_mecho "Unregister system from database"
123    
124   echo -e ${COLMAGENTA}"Unregister system from database"${COLDEFAULT}   # nice status
125     $CURS_UP
126     $SET_WCOL
127     rc_echo "[ SN: ${ALX_SERIAL} ]"
128    
129   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}';"
130   evaluate_retval   evaluate_retval
131  }  }
132    
# Line 159  case $1 in Line 160  case $1 in
160   evaluate_retval   evaluate_retval
161   ;;   ;;
162   *)   *)
163   echo "Usage: $0 {start|stop} ..."   rc_echo "Usage: $0 {start|stop} ..."
164   ;;   ;;
165  esac  esac
166    

Legend:
Removed from v.543  
changed lines
  Added in v.3482