]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - AFINSTAL
Muestro como utilizar las funciones bonitas para mejorar el AFINSTALL
[z.facultad/75.08/llamadas.git] / AFINSTAL
1 #!/bin/bash 
2 # vim: set softtabstop=4 tabstop=4 
3 # variables de entorno
4 #echo "editor "$EDITOR
5 #echo "env "$ENV
6 #echo "home "$HOME
7 #echo "host "$HOSTNAME
8 #echo "logname "$LOGNAME
9 #echo "user " $USER
10 #echo "mail "$MAIL
11 #echo "path "$PATH
12 #echo "pwd "$PWD
13 #echo "shell "$SHELL
14 #echo "term "$TERM
15 #echo "time out" $TMOUT
16
17 #Includes
18 . util.sh
19
20 # chequeo sistema operativo
21 echo "Chequeando SO ..."
22 if [ -z  "`echo $0 | sed \"s/.*AFINSTAL$//\"`" ]; then
23         SISOPTP="Linux"
24 elif [ -z  "`echo $0 | sed \"s/.*AFINSTAW$//\"`" ]; then
25         SISOPTP="Windows"
26 elif [ -z  "`echo $0 | sed \"s/.*AFINSTAM$//\"`" ]; then
27         SISOPTP="Mac"
28 fi
29
30 CURSIS=$(uname)
31 #echo "cursis $CURSIS"
32 # comienzo instalacion si el sistema es correcto
33 if [ "$SISOPTP" != "$CURSIS" ]; then
34         echo "ERROR !!!"
35         echo "Este proceso de instalación es para $SISOPTP"
36         echo "y su sistema operativo es $CURSIS"
37         echo "Solicite a su proveedor la versión adecuada"
38         echo "e inicie nuevamente el proceso de instalación"
39         exit 1
40 else
41         echo "Proceso de instalación para $SISOPTP"
42         echo "Presione ENTER para continuar"    
43 fi
44
45 echo "*******************************************************"
46 echo "*                                                     *"
47 echo "*     Proceso de instalación de \"Antifraude\"        *"
48 echo "*      Copyright TPSistemasOp  (c)2004                *"
49 echo "*                                                     *"
50 echo "*******************************************************"
51 echo "A T E N C I O N: Al instalar Antifraude UD. expresa estar"
52 echo "en un todo de acuerdo con los términos y condiciones del"
53 echo "\"ACUERDO DE LICENCIA DE SOFTWARE\" incluido en este paquete"
54 echo ""
55 echo "Si desea cancelar este proceso oprima 'F' y luego ENTER"
56 echo "Para continuar oprima 'C' y luego ENTER"
57
58 preguntar "Su opción" "cCfF" opcion
59 if [ "$opcion" == "F" ] || [ "$opcion" == "f" ]; then 
60         echo "Proceso de instalación cancelado"
61         exit 0
62 fi      
63
64 #Verifico que Perl este instalado
65 if [ "esta" == "`type perl | sed s/\"perl is .*\"/\"esta\"/`" ]; then 
66         echo "perl esta instalado"
67 else
68         echo "ERROR !:"
69         echo "Este proceso de instalación solo puede ser"
70         echo "ejecutado si Perl 5 o superior ya esta instalado"
71         echo ""
72         echo "Efectúe a instalación de Perl"
73         echo "e inicie nuevamente el procedimiento de instalación."
74         exit 1 
75 fi
76
77 PATH_GENERAL=$HOME"/antifraude" 
78 INSTDIR=$PATH_GENERAL"/inst/"
79 CONFDIR=$PATH_GENERAL"/conf/"
80 BINDIR=$PATH_GENERAL"/bin/"
81 DATADIR=$PATH_GENERAL"/data"
82 LOGDIR=$PATH_GENERAL"/log"
83 LOGNAME="comando.log"
84 LOGSIZE=10
85
86 again="s"
87 while [ "$again" == "s" ]; do
88         op="s"
89         while [ "$op" == "s" ]; do
90                 #muestro el directorio donde se instalara el sistema
91                 #
92                 # Asi queda mas corto ;-)
93                 #
94                 leer "Nombre del directorio de instalación" "$INSTDIR" INSTDIR
95
96                 echo "Nombre del directorio de configuración ($CONFDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
97                 read AUX2
98                 if [ ! -z $AUX2 ]; then 
99                         CONFDIR="$PATH_GENERAL/$AUX2"
100                 fi      
101                 echo "Nombre del directorio de ejecutables ($BINDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
102                 read AUX3
103                 if [ ! -z $AUX3 ]; then 
104                         BINDIR="$PATH_GENERAL/$AUX3"
105                 fi      
106                 echo "Desea volver a modificar?(s para modificar, ENTER para continuar)"
107                 read op
108 done #fin de los primeros directorios
109         op="s"
110         while [ "$op" == "s" ]; do
111                 echo "Nombre del directorio de datos ($DATADIR),ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
112                 read AUX4
113                 if [ ! -z $AUX4 ]; then 
114                         DATADIR="$PATH_GENERAL/$AUX4"
115                 fi      
116                 echo "Nombre del directorio de log ($LOGDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
117                 read AUX5
118                 if [ ! -z $AUX5 ]; then 
119                         LOGDIR="$PATH_GENERAL/$AUX5"
120                 fi      
121                 echo "Nombre del archivo de log ($LOGNAME), ingrese un nuevo nombre o ENTER para continuar: <nuevo nombre>"
122                 read AUX6
123                 if [ ! -z $AUX6 ]; then 
124                         LOGNAME="$AUX6"
125                 fi      
126                 echo "Tamaño máximo del archivo de log ($LOGSIZE) en MegaBytes, ingrese un nuevo tamaño o ENTER para continuar: <nuevo tamaño>"
127                 #tengo que verificar que sea un numero
128                 read AUX7
129                 while [ ! -z "`echo $AUX7 | sed \"s/\"[0-9]*\"//\"`" ]; do
130                         echo "Debe ingresar un numero"
131                         read AUX7
132                 done
133                 if [ ! -z $AUX7 ]; then 
134                         LOGSIZE="$AUX7"                 
135                 fi
136                 
137                 echo "Desea volver a modificar?(s para modificar, ENTER para continuar)"
138                 read op
139         done #fin de los segundos directorios
140         clear
141
142         echo "\"   PARAMETROS DE LA INSTALACION DE ANTIFRAUDE    \""
143         echo "\"   ==========================================\""
144         echo "\"Nombre del directorio de instalación: $INSTDIR\""
145         echo "\"Nombre del directorio de ejecutables: $BINDIR\""
146         echo "\"Nombre del directorio de datos: $DATADIR\""
147         echo "\"Nombre del directorio de configuración: $CONFDIR\""
148         echo "\"Directorio y nombre del archivo de log: $LOGDIR/$LOGNAME\""
149         echo "\"Tamaño máximo para el archivo de log: $LOGSIZE Mbytes\""
150         echo "\"Si los datos son correctos oprima solamente ENTER, si desea modificar
151         alguno de ellos oprima cualquier otra tecla y luego ENTER.\""
152         read again
153 done #fin todo de nuevo
154
155 echo "Si desea iniciar la instalación del Antifraude, oprima solamente ENTER, si
156 desea cancelar el proceso oprima cualquier otra tecla y luego ENTER."
157 read op
158 if [ "$op" != "" ]; then
159         echo "Proceso de instalación cancelado"
160         exit 0
161 fi
162
163 #creo los directorios 
164 echo "Creando Estructura de directorios"
165 if [ -d "$PATH_GENERAL" ]; then 
166         echo "El directorio ya existe."
167         echo "Seleccione una opcion R: reinstalar, A: actualizar, C: Cancelar "
168         read sel
169         while [ "$sel" != "R" ]; do # || "$sel" != "A" ]; do
170                 if [ "$sel" == "C" ]; then 
171                         echo "Proceso de Instalación Cancelado"
172                         exit 0
173                 fi      
174                 echo "Opción no válida" 
175                 echo "Ingrese nuevamente la opción"
176                 read sel
177         done
178         if [ "$sel" == "R" ]; then
179                 rm -rf $PATH_GENERAL 
180                 mkdir $PATH_GENERAL
181                 mkdir $INSTDIR
182                 mkdir $CONFDIR
183                 mkdir $BINDIR
184                 mkdir $DATADIR
185                 mkdir $LOGDIR
186                 mkdir -p "$DATADIR/{aprocesar,enproceso,rechazadas,procesadas}"
187                 #creo archivos de log
188                 touch "$LOGDIR/$LOGNAME"
189                 #inserto informacion de instalacion
190                 echo "INSTDIR = $INSTDIR" >> "$CONFDIR/afinstal.conf"
191                 echo "CONFDIR = $CONFDIR" >> "$CONFDIR/afinstal.conf"
192                 for n in `seq 3 51`
193                 do
194                         echo "" >> "$CONFDIR/afinstal.conf"
195                 done            
196                 linea=10
197                 i=0
198                 fecha=$(date)
199                 for FILE in ANTIFRAUDE.PL AFICONF AFIMONIO
200                 do
201                         numlinea=`expr $linea + $i`
202                         cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $FILE/" > "$CONFDIR/afinstal.conf"
203                         i=`expr $i + 1`
204                         numlinea=`expr $linea + $i`
205                         cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf"
206                         i=`expr $i + 1`
207                         numlinea=`expr $linea + $i`
208                         cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf"
209                         i=`expr $i + 1`
210                         numlinea=`expr $linea + $i`
211                         cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf"
212                         i=`expr $i + 1`
213                         numlinea=`expr $linea + $i`
214                         cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf"
215                         if [ "$FILE" == "ANTIFRAUDE.PL" ]; then
216                                 i=`expr $i + 1`
217                                 numlinea=`expr $linea + $i`
218                                 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf"
219                                 i=`expr $i + 1`
220                                 numlinea=`expr $linea + $i`
221                                 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf"
222                         fi              
223                         i=`expr $i + 1`
224                         numlinea=`expr $linea + $i`
225                         cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf"
226                         i=`expr $i + 1`
227                         numlinea=`expr $linea + $i`
228                         cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf"
229
230                         i=0
231                         linea=`expr $linea + 10`
232                 done #for
233         fi      #seleccion opcion
234 fi #si esxiste la estructura de directorios.. FIXME si no existe, hay que crearlo
235
236
237
238 #ofrezco la posibilidad de correr el demonio..
239
240 cat << MARCA
241 Desea efectuar la activación del demonio antifraude?
242 Si desea arrancar el proceso de antifraude, oprima solamente ENTER,
243 si no desea correr el proceso oprima cualquier otra tecla y luego ENTER.
244 MARCA
245
246 read op 
247 if [ "$op" == "" ]; then
248         #lanzo el proceso
249         num=$($BINDIR/afimonio &)
250         err=$num
251         echo  $err
252         num=`echo $num | sed "s/\[.*\]//"`
253         echo "El proceso afimonio se ha activado. Número de proceso:"
254 else
255         echo "Para realizar la activación utilice el comando afimonio de la siguiente manera: $BINDIR/afimonio &".
256 fi