#!/bin/bash # vim: set softtabstop=4 tabstop=4 # variables de entorno #echo "editor "$EDITOR #echo "env "$ENV #echo "home "$HOME #echo "host "$HOSTNAME #echo "logname "$LOGNAME #echo "user " $USER #echo "mail "$MAIL #echo "path "$PATH #echo "pwd "$PWD #echo "shell "$SHELL #echo "term "$TERM #echo "time out" $TMOUT # chequeo sistema operativo echo "Chequeando SO ..." if [ -z "`echo $0 | sed \"s/.*AFINSTAL$//\"`" ]; then SISOPTP="Linux" elif [ -z "`echo $0 | sed \"s/.*AFINSTAW$//\"`" ]; then SISOPTP="Windows" elif [ -z "`echo $0 | sed \"s/.*AFINSTAM$//\"`" ]; then SISOPTP="Mac" fi CURSIS=$(uname) #echo "cursis $CURSIS" # comienzo instalacion si el sistema es correcto if [ "$SISOPTP" != "$CURSIS" ]; then echo "ERROR !!!" echo "Este proceso de instalación es para $SISOPTP" echo "y su sistema operativo es $CURSIS" echo "Solicite a su proveedor la versión adecuada" echo "e inicie nuevamente el proceso de instalación" exit 1 else echo "Proceso de instalación para $SISOPTP" echo "Presione ENTER para continuar" fi opcion="a" while [ -n "$opcion" ]; do echo "*******************************************************" echo "* *" echo "* Proceso de instalación de \"Antifraude\" *" echo "* Copyright TPSistemasOp (c)2004 *" echo "* *" echo "*******************************************************" echo "A T E N C I O N: Al instalar Antifraude UD. expresa estar" echo "en un todo de acuerdo con los términos y condiciones del" echo "\"ACUERDO DE LICENCIA DE SOFTWARE\" incluido en este paquete" echo "" echo "Si desea cancelar este proceso oprima 'F' y luego ENTER" echo "Para continuar oprima solamente ENTER" read opcion if [ "$opcion" == "F" ] || [ "$opcion" == "f" ]; then echo "Proceso de instalación cancelado" exit 0 fi done #Verifico que Perl este instalado if [ "esta" == "`type perl | sed s/\"perl is .*\"/\"esta\"/`" ]; then echo "perl esta instalado" else echo "ERROR !:" echo "Este proceso de instalación solo puede ser" echo "ejecutado si Perl 5 o superior ya esta instalado" echo "" echo "Efectúe a instalación de Perl" echo "e inicie nuevamente el procedimiento de instalación." exit 1 fi PATH_GENERAL=$HOME"/antifraude" INSTDIR=$PATH_GENERAL"/inst/" CONFDIR=$PATH_GENERAL"/conf/" BINDIR=$PATH_GENERAL"/bin/" DATADIR=$PATH_GENERAL"/data" LOGDIR=$PATH_GENERAL"/log" LOGNAME="comando.log" LOGSIZE=10 again="s" while [ "$again" == "s" ]; do op="s" while [ "$op" == "s" ]; do #muestro el directorio donde se instalara el sistema echo "Nombre del directorio de instalación ($INSTDIR),ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/" read AUX1 if [ ! -z $AUX1 ]; then INSTDIR="$PATH_GENERAL/$AUX1" fi echo "Nombre del directorio de configuración ($CONFDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/" read AUX2 if [ ! -z $AUX2 ]; then CONFDIR="$PATH_GENERAL/$AUX2" fi echo "Nombre del directorio de ejecutables ($BINDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/" read AUX3 if [ ! -z $AUX3 ]; then BINDIR="$PATH_GENERAL/$AUX3" fi echo "Desea volver a modificar?(s para modificar, ENTER para continuar)" read op done #fin de los primeros directorios op="s" while [ "$op" == "s" ]; do echo "Nombre del directorio de datos ($DATADIR),ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/" read AUX4 if [ ! -z $AUX4 ]; then DATADIR="$PATH_GENERAL/$AUX4" fi echo "Nombre del directorio de log ($LOGDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/" read AUX5 if [ ! -z $AUX5 ]; then LOGDIR="$PATH_GENERAL/$AUX5" fi echo "Nombre del archivo de log ($LOGNAME), ingrese un nuevo nombre o ENTER para continuar: " read AUX6 if [ ! -z $AUX6 ]; then LOGNAME="$AUX6" fi echo "Tamaño máximo del archivo de log ($LOGSIZE) en MegaBytes, ingrese un nuevo tamaño o ENTER para continuar: " #tengo que verificar que sea un numero read AUX7 while [ ! -z "`echo $AUX7 | sed \"s/\"[0-9]*\"//\"`" ]; do echo "Debe ingresar un numero" read AUX7 done if [ ! -z $AUX7 ]; then LOGSIZE="$AUX7" fi echo "Desea volver a modificar?(s para modificar, ENTER para continuar)" read op done #fin de los segundos directorios clear echo "\" PARAMETROS DE LA INSTALACION DE ANTIFRAUDE \"" echo "\" ==========================================\"" echo "\"Nombre del directorio de instalación: $INSTDIR\"" echo "\"Nombre del directorio de ejecutables: $BINDIR\"" echo "\"Nombre del directorio de datos: $DATADIR\"" echo "\"Nombre del directorio de configuración: $CONFDIR\"" echo "\"Directorio y nombre del archivo de log: $LOGDIR/$LOGNAME\"" echo "\"Tamaño máximo para el archivo de log: $LOGSIZE Mbytes\"" echo "\"Si los datos son correctos oprima solamente ENTER, si desea modificar alguno de ellos oprima cualquier otra tecla y luego ENTER.\"" read again done #fin todo de nuevo echo "Si desea iniciar la instalación del Antifraude, oprima solamente ENTER, si desea cancelar el proceso oprima cualquier otra tecla y luego ENTER." read op if [ "$op" != "" ]; then echo "Proceso de instalación cancelado" exit 0 fi #creo los directorios echo "Creando Estructura de directorios" if [ -d "$PATH_GENERAL" ]; then echo "El directorio ya existe." echo "Seleccione una opcion R: reinstalar, A: actualizar, C: Cancelar " read sel while [ "$sel" != "R" ]; do # || "$sel" != "A" ]; do if [ "$sel" == "C" ]; then echo "Proceso de Instalación Cancelado" exit 0 fi echo "Opción no válida" echo "Ingrese nuevamente la opción" read sel done if [ "$sel" == "R" ]; then rm -rf $PATH_GENERAL mkdir $PATH_GENERAL mkdir $INSTDIR mkdir $CONFDIR mkdir $BINDIR mkdir $DATADIR mkdir $LOGDIR mkdir -p "$DATADIR/{aprocesar,enproceso,rechazadas,procesadas}" #creo archivos de log touch "$LOGDIR/$LOGNAME" #inserto informacion de instalacion 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 FILE in ANTIFRAUDE.PL AFICONF AFIMONIO do numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $FILE/" > "$CONFDIR/afinstal.conf" i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf" i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf" i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf" i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf" if [ "$FILE" == "ANTIFRAUDE.PL" ]; then i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf" i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf" fi i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf" i=`expr $i + 1` numlinea=`expr $linea + $i` cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf" i=0 linea=`expr $linea + 10` done #for fi #seleccion opcion fi #si esxiste la estructura de directorios.. FIXME si no existe, hay que crearlo #ofrezco la posibilidad de correr el demonio.. cat << MARCA Desea efectuar la activación del demonio antifraude? Si desea arrancar el proceso de antifraude, oprima solamente ENTER, si no desea correr el proceso oprima cualquier otra tecla y luego ENTER. MARCA read op if [ "$op" == "" ]; then #lanzo el proceso num=$($BINDIR/afimonio &) err=$num echo $err num=`echo $num | sed "s/\[.*\]//"` echo "El proceso afimonio se ha activado. Número de proceso:" else echo "Para realizar la activación utilice el comando afimonio de la siguiente manera: $BINDIR/afimonio &". fi