X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/22fd66aa8fbf11c74d642a8948595601c135c34a..54aa05c9a38dfc5bc66ef376c4677c6fcb35a84b:/BUGAFINSTAL?ds=sidebyside diff --git a/BUGAFINSTAL b/BUGAFINSTAL index 6bf0d3a..236ebbd 100755 --- a/BUGAFINSTAL +++ b/BUGAFINSTAL @@ -4,17 +4,15 @@ ################# Funciones ########################### # Devuelve 0 si la ruta fue cambiada y 1 si quedo por defecto -function cambiaruta() { - echo "" - echo "Nombre del directorio $1 es: ($2)" - echo "Si desea modificarlo ingrese la ruta completa deseada y luego presione ENTER" - echo "de lo contrario presione ENTER." - echo "" +function askDir() { + cat <> Nombre del directorio de $1 es: ($3) +Si desea modificarlo reemplaze "$2" por el deseado y presione ENTER, +de lo contrario solo presione ENTER." +MARCA read DIRSELECTED - if [ -n "$DIRSELECTED" ]; then - return 0 - else - return 1 + if [ -n "$DIRSELECTED" ]; then return 1 + else return 0 fi } @@ -50,7 +48,6 @@ function checkPerl() { return 0; else cat <> Verificando la existencia de PERL .. FAILED! "ERROR!!!" "Este proceso de instalación solo puede ser" @@ -85,16 +82,16 @@ MARCA select REPLY in $choices do case $REPLY in - "AFIMONIO" ) selected="AFIMONIO";; - "AFICONF" ) selected="AFICONF";; - "ANTIFRAUDE" ) selected="ANTIFRAUDE";; + "AFIMONIO" ) selected="afimonio";; + "AFICONF" ) selected="aficonf";; + "ANTIFRAUDE" ) selected="antifraude.pl";; * ) selected="INVALID";; esac break done if [ $selected != "INVALID" ]; then - choices=`echo $choices | sed s/$selected//` + choices=`echo $choices | sed s/$REPLY//` if [ -z "$toinstall" ]; then toinstall=$selected else toinstall="$toinstall,$selected" fi @@ -118,12 +115,16 @@ cat < MARCA +read key } ################### MAIN SCRIPT CODE ################### clear SISOPTP=$(uname) +CURRDIR=`echo ${0%/*} | sed s%'\.'%$PWD%` # [STEP1] Verifico el OS vs SCRIP y la presencia de PERL echo ">> Verificando version del software contra el OS.." @@ -163,7 +164,7 @@ fi done # [STEP3] Chequeamos si hay componentes ya instalados -if [ -f "./conf/afinstal.conf" ]; then +if [ "2" = "3" ]; then #busco paquetes instalados. Leo afinstal.conf para ver que hay #como el archivo existe, tiene que tener alguna info almacenada.. instdir=`cat $afinstal | grep -n INSTDIR | grep 1 | sed s/\.\*\=\ //` @@ -271,139 +272,189 @@ fi # [STEP4] Seleecion de los componentes a instalar # TODO: tener en cuenta los que ya estan selectModules -exit 0 -# [STEP5] Verifico que perl este instalado +# [STEP5] Definir paths de cada componente e instalarlo guardando +# la informacion pertinente en el afinstal.conf +CONFDIR="${CURRDIR}/conf" +INSTDIR="${CURRDIR}/inst" +CONFFILE="${CONFDIR}/afinstal.conf" +DEFAULTDIR=$CURRDIR -#defino los paths de configuracion e instalacion - CURDIR=$PWD - CONFDIR="${CURDIR}/conf" - INSTDIR="${CURDIR}/inst" - #creo el afinstal.conf y le agrego las 2 primeras lineas - echo "INSTDIR = $INSTDIR" >> "$CONFDIR/afinstal.conf" - echo "CONFDIR = $CONFDIR" >> "$CONFDIR/afinstal.conf" - for n in `seq 3 51` - do - echo "" >> "$CONFDIR/afinstal.conf" - done - linea=10 - i=0 - fecha=$(date) - for comando in antifraude.pl afimonio aficonf ; do - op="a" - while [ -n "$op" ]; do - #Almance el path actual - BINDIR="${CURDIR}/bin" - DATADIR="${CURDIR}/llamadas" - LOGDIR="${CURDIR}/log" - - echo "La ruta del directorio de instalación es: ($INSTDIR)" - echo "La ruta del directorio de configuración es: ($CONFDIR)" - echo "La ruta del directorio de ejecutables es: ($BINDIR)" - DIRSELECTED="" - if cambiaruta "ejecutables" $BINDIR ; then - BINDIR=$DIRSELECTED - fi - if cambiaruta "de datos" $DATADIR ; then - DATADIR=$DIRSELECTED - fi - if cambiaruta "de log" $LOGDIR ; then - LOGDIR=$DIRSELECTED - fi - echo "Nombre del archivo de log: (${comando}.log)" - echo "Si desea conservar este nombre presione ENTER, de lo " - echo "contrario ingrese un nuevo nombre y luego ENTER" - read LOGNAME - if [ -z "$logname" ]; then - LOGNAME="${comando}.log" - fi - echo "Tamaño máximo para el archivo <$LOGNAME> (Mb): 20Mb" - echo "Si desea conservar este valor presione ENTER, de lo " - echo "contrario ingrese un nuevo valor y luego ENTER" - read LOGSIZE - if [ -z "$LOGSIZE" ]; then - LOGSIZE=20 - fi +# Si no existe el afinstal.conf, lo creo y agrego las primeras 2 lineas +if [ ! -f "$CONFFILE" ]; then + touch "$CONFFILE" + echo "INSTDIR = $INSTDIR" >> $CONFFILE + echo "CONFDIR = $CONFDIR" >> $CONFFILE + for n in `seq 3 51`; do + echo "" >> $CONFFILE + done +fi - cat <, oprima" - echo "solamente ENTER, si desea cancelar el proceso oprima" - echo "cualquier otra tecla y luego ENTER." +** Iniciando instalacion del componente <$comando>. +** A continuacion se le permitira establecer la estructura de +** directorios donde se instalara el mismo. - read op +>> Nombre del directorio de instalacion: ($INSTDIR) +>> Nombre del directorio de configuracion: ($CONFDIR) - if [ -n "$op" ]; then - echo "Proceso de instalación cancelado" - exit 0 - fi +Por favor ingrese un path raiz en donde se crearan los directorios de +ejecutables, datos y logs segun corresponda o bien presione ENTER para +aceptar el siguiente sugerido: $CURRDIR +MARCA - # Cremos los directorios para este comando - echo "Creando Estructura de Directorio...." - mkdir -p $BINDIR - mkdir -p $DATADIR - mkdir -p $DATADIR/{aprocesar,enproceso,rechazadas,procesadas} - mkdir -p $LOGDIR - touch $LOGDIR/$LOGNAME - echo "Moviendo Archivos....." - cp $INSTDIR/$comando $BINDIR - #cp $INSTDIR/umbrales.param $CONFDIR - #cp $INSTDIR/*.data $DATADIR/aprocesar - - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $comando/" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf" - if [ "$FILE" = "antifraude.pl" ]; then - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf" - fi - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf" - i=0 - linea=$(($linea+10)) - done #for - done #while - # Termino la instalacion, muestro informacion. - j=10 - echo " ***************************************************************** " - echo " * Proceso de instalacion concluido * " - comandos=`cat "$CONFDIR/afinstal.conf" | grep Comando ` - for i in 17 25 35 ; do + # Le pido un rootpath donde se instalara este comando en particular + read userpath + if [ -n "$userpath" ]; then ROOTPATH=$userpath + else ROOTPATH=$CURRDIR + fi + + # preparlos los dirs que voy a sugerir + BINDIR="${ROOTPATH}/bin" + LOGDIR="${ROOTPATH}/log" + DATADIR="" - fecha=`cat "$CONFDIR/afinstal.conf" | grep -n FECINS | grep $i | sed 's/.*= //'` - i=$(($i +1)) - usu=`cat "$CONDIR/afinstal.conf" | grep -n USERID | grep $i | sed 's/.*= //'` - echo " * - done + # Le muestro el directorio sugerido para los binarios + askDir "ejecutables" "bin" $BINDIR + if [ "$?" -ne 0 ]; then BINDIR="${ROOTPATH}/$DIRSELECTED" + fi + + # Si estoy con antifraude.pl muestro el sugerido para los datos + if [ "$comando" = "antifraude.pl" ]; then + DATADIR="${ROOTPATH}/llamadas" + askDir "datos" "llamadas" $DATADIR + if [ "$?" -ne 0 ]; then DATADIR="${ROOTPATH}/$DIRSELECTED" + fi + fi + + # Le muestro el directorio para los logs + askDir "de datos" "log" $LOGDIR + if [ "$?" -ne 0 ]; then LOGDIR="${ROOTPATH}/$DIRSELECTED" + fi + + # Le sugiero el archivo de log + echo ">> Nombre del archivo de log: (${comando%.pl}.log)" + echo "Si desea conservar este nombre presione ENTER, de lo contrario" + echo "ingrese un nuevo nombre y luego presione ENTER" + read LOGFILE + if [ -z "$LOGFILE" ]; then + LOGFILE="${comando%.pl}.log" + fi + + # Le sugiero un size para el logfile + echo ">> Tamaño máximo para el archivo ($LOGFILE) en MB: 200" + echo "Si desea conservar este valor presione ENTER, de lo contrario ingrese" + echo "un nuevo valor y luego presione ENTER" + read LOGSIZE + if [ -z "$LOGSIZE" ]; then + LOGSIZE=200 + fi + + cat <> Parametros de instalacion de $comando +>> =================================================================== +>> Directorio de instalación: $INSTDIR +>> Directorio de configuración: $CONFDIR +>> Directorio de ejecutables: $BINDIR +>> Directorio de datos: $DATADIR +>> Archivo de log: $LOGDIR/$LOGFILE +>> Tamaño máximo para el archivo de log: $LOGSIZE + +Si los datos ingresados son correctos oprima solamente ENTER, si desea +modificar alguno de ellos oprima cualquier otra tecla y luego ENTER. +MARCA + read choice + done + + cat <, oprima ENTER, si desea +cancelar el proceso oprima cualquier otra tecla y luego ENTER. +MARCA + read choice + if [ -n "$choice" ]; then exit 1 + fi + + # Comienzo a crear la estructura de directorios definida (Chequear permisos!!) + echo ">> Creando Estructura de Directorio...." + mkdir -p $BINDIR + mkdir -p $LOGDIR + touch $LOGDIR/$LOGFILE + if [ $comando = "antifraude.pl" ]; then + mkdir -p $DATADIR + mkdir -p $DATADIR/{aprocesar,enproceso,rechazadas,procesadas} + fi + echo ">> Moviendo Archivos....." + cp $INSTDIR/$comando $BINDIR + cp $INSTDIR/umbrales.param $CONFDIR + #cp $INSTDIR/*.data $DATADIR/aprocesar +done + +############## NO DAR BOLA DE ACA HACIA ABAJO ##################### +exit 0 + +linea=10 +i=0 +fecha=$(date) + + +read op + +if [ -n "$op" ]; then + echo "Proceso de instalación cancelado" + exit 0 +fi + +# Cremos los directorios para este comando + +numlinea=$(($linea+$i)) +cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $comando/" > "$CONFDIR/afinstal.conf" +i=$(($i+1)) +numlinea=$(($linea+$i)) +cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf" +i=$(($i+1)) +numlinea=$(($linea+$i)) +cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf" +i=$(($i+1)) +numlinea=$(($linea+$i)) +cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf" +i=$(($i+1)) +numlinea=$(($linea+$i)) +cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf" +if [ "$FILE" = "antifraude.pl" ]; then + i=$(($i+1)) + numlinea=$(($linea+$i)) + cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf" + i=$(($i+1)) + numlinea=$(($linea+$i)) + cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf" + fi +i=$(($i+1)) +numlinea=$(($linea+$i)) +cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf" +i=$(($i+1)) +numlinea=$(($linea+$i)) +cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf" +i=0 +linea=$(($linea+10)) + +# Termino la instalacion, muestro informacion. +j=10 +echo " ***************************************************************** " +echo " * Proceso de instalacion concluido * " +comandos=`cat "$CONFDIR/afinstal.conf" | grep Comando ` +for i in 17 25 35 ; do + +fecha=`cat "$CONFDIR/afinstal.conf" | grep -n FECINS | grep $i | sed 's/.*= //'` +i=$(($i +1)) +usu=`cat "$CONDIR/afinstal.conf" | grep -n USERID | grep $i | sed 's/.*= //'` +done