From: Leandro Lucarella Date: Thu, 3 Apr 2003 18:23:34 +0000 (+0000) Subject: Se agregan los scripts para carga de novedades. X-Git-Tag: svn_import~53 X-Git-Url: https://git.llucax.com/mecon/scripts.git/commitdiff_plain/869fe4f3f46dd6307821ef2bc17d8cc4204270e9 Se agregan los scripts para carga de novedades. --- 869fe4f3f46dd6307821ef2bc17d8cc4204270e9 diff --git a/novedades/README b/novedades/README new file mode 100644 index 0000000..10ecdb6 --- /dev/null +++ b/novedades/README @@ -0,0 +1,25 @@ +$Id$ + +Carga de novedades en bases de datos de servidores de intranet. + +Directorio 'datos': + En este directorio se copian (previo ser procesados de ser necesario) + los archivos de datos a subir a las DB. El nombre del archivo debe + coincidir con el nombre de la tabla a donde va a ser subido y su + contenido debe ser un archivo con los campos separados por comas y las + filas separadas por '\n', siendo la primera fila una descripción que es + ignorada. +Directorio 'cargas_de_datos': + En este directorio hay scripts que copian y/o procesan los archivos de + datos de su ubicación original al directorio 'datos' para que puedan + ser subidos a las DB correctamente. +Directorio 'cargas': + Esta compuesto por subdirectorios, típicamente con la siguiente + estructura: + 'carga': Es un script que debe existir siempre que se quiera + que este subdirectorio se procese automáticamente. + 'scripts': Scripts que se ejecutan en la carga, a través de + run-parts(8) por lo que sigue sus reglas. +Directorio 'backups': + Aquí se deja un backup comprimido de cada carga diaria (antes de + procesar nada). diff --git a/novedades/backup b/novedades/backup new file mode 100755 index 0000000..a9911a0 --- /dev/null +++ b/novedades/backup @@ -0,0 +1,21 @@ +#!/bin/sh +# Parámetros de la línea de comandos. +home="$1" +origen="$2" +datos="$3" + +# Configuración. +host="intranet-db.mecon.ar" +dir="$home"/backups +targz="$dir"/`date +%Y%m%d`.tar.gz + +# Script. +echo "Haciendo backup en $targz" +files="" +for f in `ls "$datos"`; do + nombre=`basename "$f" | awk -F\\. '{ print $1 }'` + files="$files $nombre" +done +cd "$origen" +tar -cvzf "$targz" $files +scp -1 -r "$targz" novedades@"$host":"$dir" diff --git a/novedades/carga b/novedades/carga new file mode 100755 index 0000000..0544a59 --- /dev/null +++ b/novedades/carga @@ -0,0 +1,37 @@ +#!/bin/sh +# +# Script para ejecutar todos los sql de un directorio. +# +# Creado por Leandro Lucarella (llucar) el mié ene 22 18:20:06 ART 2003 +# + +# Parámetros de la línea de comandos. +home="/home/novedades/sql" +datos="$home/datos" +cargas="$home/cargas" +log="$home/carga.log" +origen="/home/novedades" + +# Script. +echo >> "$log" +echo "===================================================================" >> "$log" +echo >> "$log" +date >> "$log" +echo >> "$log" +echo "Hace un backup de los datos originales" >> "$log" +"$home"/backup "$home" "$origen" "$home"/cargas_de_datos >> "$log" 2>&1 +echo >> "$log" +echo "Comienza la carga de la base de datos" >> "$log" +echo >> "$log" +echo "Cargando y procesando archivos de datos..." >> "$log" +run-parts --verbose --arg="$origen" --arg="$datos" --arg="$home" \ + "$home/cargas_de_datos" >> "$log" 2>&1 +echo "Procesando '$cargas'..." >> "$log" 2>&1 +for dir in `ls "$cargas" | sort`; do + echo "- Cargando '$dir'..." >> "$log" 2>&1 + "$cargas/$dir/carga" "$cargas/$dir" "$datos" >> "$log" 2>&1 +done +echo >> "$log" +echo >> "$log" +echo "Fin de la carga!" >> "$log" +date >> "$log" diff --git a/novedades/cargas/intranet-db.mecon.ar/carga b/novedades/cargas/intranet-db.mecon.ar/carga new file mode 100755 index 0000000..69e7bb5 --- /dev/null +++ b/novedades/cargas/intranet-db.mecon.ar/carga @@ -0,0 +1,25 @@ +#!/bin/sh +# +# Script para cargar bases de datos. +# +# Creado por Leandro Lucarella (llucar) el mié ene 22 17:57:00 ART 2003 +# + +# Configuración. +home="$1" +datos="$2" +host="intranet-db" +user="intranet" +pass="intranet" +db="novedades" + +# Script. +/bin/run-parts \ + --verbose \ + --arg="$host" \ + --arg="$user" \ + --arg="$pass" \ + --arg="$db" \ + --arg="$home" \ + --arg="$datos" \ + "$home/scripts" diff --git a/novedades/cargas/intranet-db.mecon.ar/scripts/10.borrar.codep b/novedades/cargas/intranet-db.mecon.ar/scripts/10.borrar.codep new file mode 100755 index 0000000..772b034 --- /dev/null +++ b/novedades/cargas/intranet-db.mecon.ar/scripts/10.borrar.codep @@ -0,0 +1,9 @@ +#!/bin/sh +host="$1" +user="$2" +pass="$3" +db="$4" +home="$5" +datos="$6" + +ssh -1 novedades@"$host" rm -vf "$datos"/codep diff --git a/novedades/cargas/intranet-db.mecon.ar/scripts/20.copiar.datos b/novedades/cargas/intranet-db.mecon.ar/scripts/20.copiar.datos new file mode 100755 index 0000000..fe467c4 --- /dev/null +++ b/novedades/cargas/intranet-db.mecon.ar/scripts/20.copiar.datos @@ -0,0 +1,10 @@ +#!/bin/sh +host="$1" +user="$2" +pass="$3" +db="$4" +home="$5" +datos="$6" + +scp -1 -r "$datos"/* novedades@"$host":"$datos" +#ssh -1 novedades@"$host" chmod -vR 664 "$datos" diff --git a/novedades/cargas/intranet-db.mecon.ar/scripts/40.codep b/novedades/cargas/intranet-db.mecon.ar/scripts/40.codep new file mode 100755 index 0000000..d7be87a --- /dev/null +++ b/novedades/cargas/intranet-db.mecon.ar/scripts/40.codep @@ -0,0 +1,21 @@ +#!/bin/sh +host="$1" +user="$2" +pass="$3" +#db="$4" +db="CODEP" +home="$5" +datos="$6" + +cat < diff --git a/novedades/cargas_de_datos/webfer.feriados b/novedades/cargas_de_datos/webfer.feriados new file mode 100755 index 0000000..6cbe951 --- /dev/null +++ b/novedades/cargas_de_datos/webfer.feriados @@ -0,0 +1,34 @@ +#!/usr/bin/php4 -qC + diff --git a/novedades/cargas_de_datos/webgen.estado b/novedades/cargas_de_datos/webgen.estado new file mode 100755 index 0000000..656e25e --- /dev/null +++ b/novedades/cargas_de_datos/webgen.estado @@ -0,0 +1,31 @@ +#!/usr/bin/php4 -qC + diff --git a/novedades/copia b/novedades/copia new file mode 100755 index 0000000..e288802 --- /dev/null +++ b/novedades/copia @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Script para copiar un archivo deduciendo el nombre del nombre del propio +# script. +# +# Creado por Leandro Lucarella (llucar) el jue ene 23 17:22:03 ART 2003 +# + +# Parámetros de la línea de comandos. +origen="$1" +destino="$2" +libdir="$3" + +# Script. +nombre_orig=`basename "$0" | awk -F\\. '{ print $1 }'` +nombre_nuevo=`basename "$0" | awk -F\\. '{ print $2 }'` +if [ -z "$nombre_orig" ]; then + nombre_nuevo=`basename "$0"` +fi +cp -fv "$origen/$nombre_orig" "$destino/$nombre_nuevo" diff --git a/novedades/corregir_lib.php b/novedades/corregir_lib.php new file mode 100644 index 0000000..0db5541 --- /dev/null +++ b/novedades/corregir_lib.php @@ -0,0 +1,37 @@ + diff --git a/novedades/run-sql-data-parts b/novedades/run-sql-data-parts new file mode 100755 index 0000000..f342c50 --- /dev/null +++ b/novedades/run-sql-data-parts @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Script para ejecutar todos los sql de un directorio. +# +# Creado por Leandro Lucarella (llucar) el mié ene 22 18:20:06 ART 2003 +# + +# Parámetros de la línea de comandos. +host="$1" +user="$2" +pass="$3" +db="$4" +home="$5" + +# Script. +echo "Procesando '$home'..." +for file in `ls "$home"`; do + echo "- Cargando '$file'..." + cat <