-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdaemon_install.sh
105 lines (92 loc) · 2.45 KB
/
daemon_install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#! /bin/sh
# ./install.sh
#
PARAM=$1
FLAG_OK=0
DAEMON_NAME='comd'
DAEMON_FILE='./comd'
DAEMON_SCRIPT='./comd.sh'
CONFIG_PATH='/etc/comd'
LOG_PATH='/var/log/comd'
CONFIG_FILE_1='./net_config'
CONFIG_FILE_2='./db_config'
if [ `whoami` != root ]; then
echo "Es necesario ejecutar este script como usuario root!" 1>&2
exit
else
if ps -eo euser,ruser,suser,fuser,f,comm,label | grep -v grep | grep $DAEMON_NAME > /dev/null
then
echo "--> Deteniendo servicio $DAEMON_NAME..."
pkill $DAEMON_NAME
if test $? -ne 0
then
echo "No se pudo terminar el proceso $DAEMON_NAME"
fi
fi
echo "--> Copiando archivos necesarios..."
cp $DAEMON_FILE /usr/sbin
cp $DAEMON_SCRIPT /etc/init.d/$DAEMON_NAME
chmod +x /etc/init.d/$DAEMON_NAME
if [ ! -d $CONFIG_PATH ]; then
mkdir $CONFIG_PATH
fi
cp $CONFIG_FILE_1 $CONFIG_PATH
cp $CONFIG_FILE_2 $CONFIG_PATH
if [ ! -d $LOG_PATH ]; then
mkdir $LOG_PATH
fi
if test $? -ne 0
then
echo " * El servicio $DAEMON_NAME no se instalo correctamente." 1>&2
exit 1
fi
if ls /etc/rc2.d/ |grep $DAEMON_NAME > /dev/null
then
echo "--> Removiendo servicio $DAEMON_NAME..."
update-rc.d -f $DAEMON_NAME remove
fi
echo "--> Instalando servicio $DAEMON_NAME..."
update-rc.d $DAEMON_NAME defaults
if ls /etc/rc2.d/ |grep $DAEMON_NAME > /dev/null
then
echo " * El servicio $DAEMON_NAME se instalo con exito!"
FLAG_OK=1
else
echo "Hubo un problema en la instalacion del servicio."
echo "--> Removiendo servicio $DAEMON_NAME..."
update-rc.d -f $DAEMON_NAME remove
echo "--> Instalando servicio $DAEMON_NAME..."
update-rc.d $DAEMON_NAME defaults
if ls /etc/rc2.d/ |grep $DAEMON_NAME > /dev/null
then
echo " * El servicio $DAEMON_NAME se instalo con exito!"
FLAG_OK=1
else
echo " * El servicio $DAEMON_NAME no se instalo correctamente." 1>&2
exit 1
fi
fi
case $PARAM in
start)
echo "--> Iniciando servicio $DAEMON_NAME..."
/etc/init.d/$DAEMON_NAME start
;;
stop)
echo "--> Deteniendo servicio $DAEMON_NAME..."
/etc/init.d/$DAEMON_NAME stop
;;
restart)
echo "--> Reiniciando servicio $DAEMON_NAME..."
/etc/init.d/$DAEMON_NAME restart
;;
*)
if test $FLAG_OK -eq 1
then
echo
echo "Edite los archivos de configuracion ubicados en el path $CONFIG_PATH antes de iniciar el servicio."
echo "/etc/init.d/$DAEMON_NAME {start|stop|restart} para controlar el servicio."
fi
;;
esac
fi
exit 0