2 # vim: set softtabstop=4 tabstop=4
4 ################# Funciones ###########################
6 # Devuelve 0 si la ruta fue cambiada y 1 si quedo por defecto
7 function cambiaruta() {
9 echo "Nombre del directorio $1 es: ($2)"
10 echo "Si desea modificarlo ingrese la ruta completa deseada y luego presione ENTER"
11 echo "de lo contrario presione ENTER."
14 if [ -n "$DIRSELECTED" ]; then
21 # Devuelve 0 si el script y el OS matchean, 1 otherwise
23 if echo $0 | egrep -q 'AFINSTAL$'; then
26 if echo $0 | egrep -q 'AFINSTAM$'; then
29 if echo $0 | egrep -q 'AFINSTAW$'; then
33 if [ "$SISOPTP" != "$SCRIPTOS" ]; then
37 Este proceso de instalacion es para $SISOPTP y su sistema operativo
38 es $CURSIS. Solicite a su proveedor la version adecuada e inicie
39 nuevamente el proceso de instalacion.
47 # Devuelve 0 si se encuentra Perl instalado, 1 otherwise
48 function checkPerl() {
49 if [ "perl" = "`type perl | sed s/\"perl is .*\"/\"perl\"/`" ]; then
53 >> Verificando la existencia de PERL .. FAILED!
56 "Este proceso de instalación solo puede ser"
57 "ejecutado si Perl 5 o superior ya esta instalado"
59 "Efectúe a instalación de Perl"
60 "e inicie nuevamente el procedimiento de instalación."
66 # Permite seleccionar que componentes se instalaran
67 function selectModules() {
68 PS3="Seleccione un componente:"
69 choices="AFIMONIO AFICONF ANTIFRAUDE"
72 while [ "$key" = "S" ] && [ -n "$choices" ]
77 ***********************************************************
78 * SELECCION de COMPONENTES *
79 * Por favor seleecione los componentes a ser instalados *
80 * de a uno por vez, a traves del siguiente menu: *
81 ***********************************************************
82 >> Se instalaran: $toinstall
85 select REPLY in $choices
88 "AFIMONIO" ) selected="AFIMONIO";;
89 "AFICONF" ) selected="AFICONF";;
90 "ANTIFRAUDE" ) selected="ANTIFRAUDE";;
91 * ) selected="INVALID";;
96 if [ $selected != "INVALID" ]; then
97 choices=`echo $choices | sed s/$selected//`
98 if [ -z "$toinstall" ]; then toinstall=$selected
99 else toinstall="$toinstall,$selected"
102 if [ -n "$choices" ]; then
104 echo "Se instalara [$selected], si desea seleccionar"
105 echo "otro componente presione \"S\" y luego ENTER, de lo contrario"
106 echo "presione solo ENTER para comenzar a instalar los componentes"
108 if [ "$key" = "s" ]; then key="S"
113 if [ -n "$key" ]; then echo
116 ***********************************************************
117 * La seleccion de componentes ha finalizado. Se procedera *
118 * con la instalacion. *
119 ***********************************************************
120 Componentes a instalar: [ $toinstall ]
124 ################### MAIN SCRIPT CODE ###################
127 CURRDIR=`echo ${0%/*} | sed s%'\.'%$PWD%`
129 # [STEP1] Verifico el OS vs SCRIP y la presencia de PERL
130 echo ">> Verificando version del software contra el OS.."
132 if [ "$?" -ne 0 ]; then exit 1
134 echo ">> Verificando la existencia de PERL.."
136 if [ "$?" -ne 0 ]; then exit 1
138 echo ">> Proceso de instalacion para $SISOPTP iniciado."
139 echo ">> Presione ENTER para continuar"
142 # [STEP2] License Agreements
144 ***************************************************************
146 * Proceso de instalacion de "Antifraude" *
147 * Copyright TPSistemasOp (c) 2004 *
149 ***************************************************************
150 A T E N C I O N: Al instalar Antifraude UD. expresa estar
151 en un todo de acuerdo con los terminos y condiciones del
152 ACUERDO DE LICENCIA DE SOFTWARE incluido en este paquete.
154 Si desea cancelar este proceso oprima 'F' y luego ENTER.
155 Para continuar oprima ENTER.
158 while [ "$key" != "" ]; do
160 if [ "$key" = "F" ]; then
161 echo ">> Proceso de instalacion cancelado"
166 # [STEP3] Chequeamos si hay componentes ya instalados
167 if [ "2" = "3" ]; then
168 #busco paquetes instalados. Leo afinstal.conf para ver que hay
169 #como el archivo existe, tiene que tener alguna info almacenada..
170 instdir=`cat $afinstal | grep -n INSTDIR | grep 1 | sed s/\.\*\=\ //`
171 confdir=`cat $afinstal | grep -n CONFDIR | grep 2 | sed s/\.\*\=\ //`
177 bindir=`cat $afinstal | grep -n BINDIR | grep 11 | sed s/\.\*\=\ //`
178 logdir=`cat $afinstal | grep -n LOGDIR | grep 12 | sed s/\.\*\=\ //`
179 logname=`cat $afinstal | grep -n LOGNAME | grep 13 | sed s/\.\*\=\ //`
180 logsize=`cat $afinstal | grep -n BINDIR | grep 14 | sed s/\.\*\=\ //`
182 # Si habia algo instalado, la informacion del los directorios quedo
183 # almacenada, pues es igual para todos los scripts. Excepto el directorio de
184 # datos para antifraude.
185 if [ ! -f "$bindir""antifraude.pl" ]; then
186 #instalo antifraude porque no existe
187 echo "Instalando Antifraude..."
189 cp "$instdir/antifraude.pl" "$bindir/antifraude.pl"
191 if [ ! -f "$bindir""aficonf" ]; then
192 #instalo aficonf porque no existe
193 echo "Instalando Aficonf..."
195 cp "$instdir/aficonf" "$bindir/aficonf"
197 if [ ! -f "$bindir""afimonio" ]; then
198 #instalo afimonio porque no existe
199 echo "Instalando Afimonio..."
201 cp "$instdir/afimonio" "$bindir/afimonio"
204 #hay que loguear lo que se instalo
205 comp=$(($anti + $afic + $afim))
206 if [ $anti != 0 ]; then
207 echo "Ingrese la ruta completa para el directorio de datos"
209 while [ ! -d "$datadir" ]; do
210 echo "La ruta especificada no existe, ingrese un directorio existente"
213 echo "Ingrese tamaño máximo de datos"
216 cat "$confdir/afinstal.conf" | sed "10s/.*/Comando antifraude.pl/" > "$confdir/afinstal.conf"
217 cat "$confdir/afinstal.conf" | sed "11s(.*(BINDIR = $bindir(" > "$confdir/afinstal.conf"
218 cat "$confdir/afinstal.conf" | sed "12s(.*(LOGDIR = $logdir(" > "$confdir/afinstal.conf"
219 cat "$confdir/afinstal.conf" | sed "13s(.*(LOGNAME = $logname(" > "$confdir/afinstal.conf"
220 cat "$confdir/afinstal.conf" | sed "14s(.*(LOGSIZE = $logsize(" > "$confdir/afinstal.conf"
221 cat "$confdir/afinstal.conf" | sed "15s(.*(DATADIR = $datadir(" > "$confdir/afinstal.conf"
222 cat "$confdir/afinstal.conf" | sed "16s(.*(DATASIZE = $datasize(" > "$confdir/afinstal.conf"
223 cat "$confdir/afinstal.conf" | sed "17s(.*(USERID = $USER(" > "$confdir/afinstal.conf"
224 cat "$confdir/afinstal.conf" | sed "18s(.*(FECINS = $fecha(" > "$confdir/afinstal.conf"
226 if [ $afic != 0 ]; then
228 cat "$confdir/afinstal.conf" | sed "20s/.*/Comando aficonf/" > "$confdir/afinstal.conf"
229 cat "$confdir/afinstal.conf" | sed "21s(.*(BINDIR = $bindir(" > "$confdir/afinstal.conf"
230 cat "$confdir/afinstal.conf" | sed "22s(.*(LOGDIR = $logdir(" > "$confdir/afinstal.conf"
231 cat "$confdir/afinstal.conf" | sed "23s(.*(LOGNAME = $logname(" > "$confdir/afinstal.conf"
232 cat "$confdir/afinstal.conf" | sed "24s(.*(LOGSIZE = $logsize(" > "$confdir/afinstal.conf"
233 cat "$confdir/afinstal.conf" | sed "25s(.*(USERID = $USER(" > "$confdir/afinstal.conf"
234 cat "$confdir/afinstal.conf" | sed "26s(.*(FECINS = $fecha(" > "$confdir/afinstal.conf"
236 if [ $afim != 0 ]; then
238 cat "$confdir/afinstal.conf" | sed "30s/.*/Comando afimonio/" > "$confdir/afinstal.conf"
239 cat "$confdir/afinstal.conf" | sed "31s(.*(BINDIR = $bindir(" > "$confdir/afinstal.conf"
240 cat "$confdir/afinstal.conf" | sed "32s(.*(LOGDIR = $logdir(" > "$confdir/afinstal.conf"
241 cat "$confdir/afinstal.conf" | sed "33s(.*(LOGNAME = $logname(" > "$confdir/afinstal.conf"
242 cat "$confdir/afinstal.conf" | sed "34s(.*(LOGSIZE = $logsize(" > "$confdir/afinstal.conf"
243 cat "$confdir/afinstal.conf" | sed "35s(.*(USERID = $USER(" > "$confdir/afinstal.conf"
244 cat "$confdir/afinstal.conf" | sed "36s(.*(FECINS = $fecha(" > "$confdir/afinstal.conf"
246 if [ $comp == 0 ]; then
249 fecha1=`cat $afinstal | grep -n FECINS | grep 18 | sed s/\.\*\=\ //`
250 fecha2=`cat $afinstal | grep -n FECINS | grep 26 | sed s/\.\*\=\ //`
251 fecha3=`cat $afinstal | grep -n FECINS | grep 36 | sed s/\.\*\=\ //`
252 usu1=`cat $afinstal | grep -n USERID | grep 17 | sed s/\.\*\=\ //`
253 usu2=`cat $afinstal | grep -n USERID | grep 25 | sed s/\.\*\=\ //`
254 usu3=`cat $afinstal | grep -n USERID | grep 35 | sed s/\.\*\=\ //`
257 ***************************************************************
258 * Se encuentran instalados los siguientes componentes: *
259 * Antifraude.pl instalado el $fecha1 por $usu1 *
260 * Aficonf instalado el $fecha2 por $usu2 *
261 * Antifraude.pl instalado el $fecha3 por $usu3 *
263 * Copyright TPSistemasOp (c) 2004 *
264 ***************************************************************
266 Proceso de instalación cancelado.
272 # [STEP4] Seleecion de los componentes a instalar
273 # TODO: tener en cuenta los que ya estan
276 # [STEP5] Definir paths de cada componente e instalarlo guardando
277 # la informacion pertinente en el afinstal.conf
278 CONFDIR="${CURRDIR}/conf"
279 INSTDIR="${CURRDIR}/inst"
280 CONFFILE="${CONFDIR}/afinstal.conf"
282 # Si no existe el afinstal.conf, lo creo y agrego las primeras 2 lineas
283 if [ ! -f "$CONFFILE" ]; then
285 echo "INSTDIR = $INSTDIR" >> $CONFFILE
286 echo "CONFDIR = $CONFDIR" >> $CONFFILE
287 for n in `seq 3 51`; do
299 for comando in antifraude.pl afimonio aficonf ; do
301 while [ -n "$op" ]; do
302 #Almance el path actual
303 BINDIR="${CURDIR}/bin"
304 DATADIR="${CURDIR}/llamadas"
305 LOGDIR="${CURDIR}/log"
307 echo "La ruta del directorio de instalación es: ($INSTDIR)"
308 echo "La ruta del directorio de configuración es: ($CONFDIR)"
309 echo "La ruta del directorio de ejecutables es: ($BINDIR)"
311 if cambiaruta "ejecutables" $BINDIR ; then
314 if cambiaruta "de datos" $DATADIR ; then
317 if cambiaruta "de log" $LOGDIR ; then
320 echo "Nombre del archivo de log: (${comando}.log)"
321 echo "Si desea conservar este nombre presione ENTER, de lo "
322 echo "contrario ingrese un nuevo nombre y luego ENTER"
324 if [ -z "$logname" ]; then
325 LOGNAME="${comando}.log"
327 echo "Tamaño máximo para el archivo <$LOGNAME> (Mb): 20Mb"
328 echo "Si desea conservar este valor presione ENTER, de lo "
329 echo "contrario ingrese un nuevo valor y luego ENTER"
331 if [ -z "$LOGSIZE" ]; then
336 " Parametros de instalación de $comando "
337 " ========================================== "
338 " Nombre del directorio de instalación: $INSTDIR "
339 " Nombre del directorio de ejecutables: $BINDIR "
340 " Nombre del directorio de datos: $DATADIR "
341 " Nombre del directorio de configuración: $CONFDIR "
342 " Directorio y nombre del archivo de log: $LOGDIR/$LOGNAME"
343 " Tamaño máximo para el archivo de log: $LOGSIZE "
345 Si los datos ingresados son correctos oprima solamente ENTER, si desea
346 modificar alguno de ellos oprima cualquier otra tecla y luego ENTER.
350 echo "Si desea iniciar la instalación de <$comando>, oprima"
351 echo "solamente ENTER, si desea cancelar el proceso oprima"
352 echo "cualquier otra tecla y luego ENTER."
356 if [ -n "$op" ]; then
357 echo "Proceso de instalación cancelado"
361 # Cremos los directorios para este comando
362 echo "Creando Estructura de Directorio...."
365 mkdir -p $DATADIR/{aprocesar,enproceso,rechazadas,procesadas}
367 touch $LOGDIR/$LOGNAME
368 echo "Moviendo Archivos....."
369 cp $INSTDIR/$comando $BINDIR
370 #cp $INSTDIR/umbrales.param $CONFDIR
371 #cp $INSTDIR/*.data $DATADIR/aprocesar
373 numlinea=$(($linea+$i))
374 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $comando/" > "$CONFDIR/afinstal.conf"
376 numlinea=$(($linea+$i))
377 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf"
379 numlinea=$(($linea+$i))
380 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf"
382 numlinea=$(($linea+$i))
383 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf"
385 numlinea=$(($linea+$i))
386 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf"
387 if [ "$FILE" = "antifraude.pl" ]; then
389 numlinea=$(($linea+$i))
390 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf"
392 numlinea=$(($linea+$i))
393 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf"
396 numlinea=$(($linea+$i))
397 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf"
399 numlinea=$(($linea+$i))
400 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf"
405 # Termino la instalacion, muestro informacion.
407 echo " ***************************************************************** "
408 echo " * Proceso de instalacion concluido * "
409 comandos=`cat "$CONFDIR/afinstal.conf" | grep Comando `
410 for i in 17 25 35 ; do
412 fecha=`cat "$CONFDIR/afinstal.conf" | grep -n FECINS | grep $i | sed 's/.*= //'`
414 usu=`cat "$CONDIR/afinstal.conf" | grep -n USERID | grep $i | sed 's/.*= //'`