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