Compare commits
No commits in common. "master" and "v0" have entirely different histories.
5 changed files with 1 additions and 101 deletions
15
INSTALL.md
15
INSTALL.md
|
|
@ -1,15 +0,0 @@
|
||||||
# Kiffa - Instalación
|
|
||||||
|
|
||||||
Después de clonar el repositorio se sigue los siguientes pasos:
|
|
||||||
|
|
||||||
1.- Crear una copia de `kiffa.conf.dist` con el nombre `kiffa.conf` el cual contendrá la configuración necesaria.
|
|
||||||
|
|
||||||
2.- En `kiffa.conf` colocar las variables que sea necesario dentro del caso:
|
|
||||||
|
|
||||||
* `HOST`, `PORT`: conexión a la BDD, en caso que no se lea desde `kiffa-iterate.sh`.
|
|
||||||
* `DB` : conexión a la BDD, en caso que no se lea desde `kiffa-iterate.sh`.
|
|
||||||
* `USER` : usuario de la BDD con permisos de lectura y acceso remoto.
|
|
||||||
* `PASS` : password para `USER`
|
|
||||||
* `DESTDIR` : Ruta en la cual se ensambla los archivos de historial.
|
|
||||||
|
|
||||||
|
|
||||||
25
README.md
25
README.md
|
|
@ -2,28 +2,3 @@
|
||||||
|
|
||||||
Miniaplicativo de backend archivador de datos boletas y ventas fiscales para BD Alerce, Crux.
|
Miniaplicativo de backend archivador de datos boletas y ventas fiscales para BD Alerce, Crux.
|
||||||
|
|
||||||
El sistema comprende dos scripts: `kiffa.sh` y `kiffa-iterate.sh`. El aplicativo principal es kiffa.sh el cual se conecta a una BDD por medio de un archivo de conexión, y descarga información de una lista de tablas que se le entrega.
|
|
||||||
|
|
||||||
`kiffa-iterate.sh` se entrega como complemento para serializar trabajo sobre una serie de bases de datos listadas en un almacén central.
|
|
||||||
|
|
||||||
|
|
||||||
# Kiffa.sh
|
|
||||||
|
|
||||||
El aplicativo trabaja de la siguiente forma:
|
|
||||||
|
|
||||||
Al iniciar `kiffa.sh`, cargará la información disponible en `kiffa.conf`. Entre este archivo y el entorno, compilará la información en tres pasos:
|
|
||||||
|
|
||||||
* las variables para conectarse a la base de datos `DB` en `HOST:PORT`, con las creenciales de `-u USER -pPASS`.
|
|
||||||
* Establecida la conexión, tomará una lista de tablas desde `stdin`. Cada una de estas tablas debe tener los campos y formatos necesarios para que *Kiffa* haga su análisis.
|
|
||||||
* Se calculará el timeframe de descarga `TF`, que es de un tiempo de inicio + 1 hora, y se descargará la información que corresponde a este periodo en un archivo almacenado en `DESTDIR`.
|
|
||||||
|
|
||||||
Por ejemplo, si `mis_tablas.txt` tiene una lista de tablas con los requerimientos necesarios (una tabla por línea), el siguiente comando captura la información de estas tablas de una base de datos configurada en `kiffa.conf`:
|
|
||||||
|
|
||||||
kiffa.sh DB=mi_bdd < mis_tablas.txt
|
|
||||||
|
|
||||||
|
|
||||||
# kiffa-iterate.sh
|
|
||||||
|
|
||||||
(En progreso)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
LISTA=${1?Falta el argumento arg1: nombrearchivo}
|
|
||||||
|
|
||||||
while read -r ID HOST PORT DB; do
|
|
||||||
echo ${HOST} ${PORT} ${DB}
|
|
||||||
done < ${LISTA}
|
|
||||||
|
|
||||||
45
kiffa-v0.sh
45
kiffa-v0.sh
|
|
@ -1,45 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
umask 007
|
|
||||||
source kiffa.conf
|
|
||||||
|
|
||||||
DB=${1?No hay arg1: nombre BDD}
|
|
||||||
TABLELIST=${2?No hay arg2: lista tablas}
|
|
||||||
|
|
||||||
#TF se pasa por el entorno y es 'now' o el timeframe para iniciar la lectura en el formato de $(date)
|
|
||||||
#DB=db_trebol_recabarren
|
|
||||||
# DB es el primer argumento
|
|
||||||
#TABLELIST es el segundo argumento
|
|
||||||
|
|
||||||
TF=${TF:-TF}
|
|
||||||
echo 0 ${TF}
|
|
||||||
FECHA=$(date -d "${TF}" '+%Y-%m-%d')
|
|
||||||
echo 1 ${FECHA}
|
|
||||||
|
|
||||||
# produccion
|
|
||||||
INICIO=$(date -d '${TF} - 1 hour' '+%Y-%m-%d %H:00:00')
|
|
||||||
FIN=$(date -d '${TF} - 1 hour' '+%Y-%m-%d %H:59:59')
|
|
||||||
SUFF=$(date -d '{TF} - 1 hour' '+%Y%m%d-%H')
|
|
||||||
W="bof_fecha = CURRENT_DATE AND (creado BETWEEN '${INICIO}' AND '${FIN}') ORDER BY creado ASC"
|
|
||||||
|
|
||||||
# pruebas
|
|
||||||
#INICIO=$(date -d "${TF} - 1 hour" '+%H:00:00')
|
|
||||||
#FIN=$(date -d "${TF} - 1 hour" '+%H:59:59')
|
|
||||||
#SUFF=$(date -d "${TF} - 1 hour" '+%Y%m%d-%H')
|
|
||||||
#W="bof_fecha = '${FECHA}' AND (bof_hora BETWEEN '${INICIO}' AND '${FIN}') ORDER BY bof_hora ASC"
|
|
||||||
|
|
||||||
# --
|
|
||||||
|
|
||||||
DB=${1}
|
|
||||||
mkdir -p ${DESTDIR}/${DB}
|
|
||||||
echo $W
|
|
||||||
while read -r TABLENAME; do
|
|
||||||
#echo $HORARIO
|
|
||||||
mysqldump -h ${HOST} --port ${PORT} -u ${USER} -p${PASS} \
|
|
||||||
--compact -t --disable-extended-insert --skip-tz-utc \
|
|
||||||
--where="${W}" \
|
|
||||||
${DB} ${TABLENAME} > ${DESTDIR}/${DB}/${TABLENAME}.${SUFF}.sql;
|
|
||||||
echo ${DESTDIR}.${DB}.${TABLENAME};
|
|
||||||
done < ${TABLELIST}
|
|
||||||
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# Para habilitar Kiffa,
|
|
||||||
# crear la copia 'kiffa.conf' y habilitar como sea adecuado.
|
|
||||||
|
|
||||||
USER=usuario
|
|
||||||
PASS=password
|
|
||||||
DESTDIR=$(pwd)
|
|
||||||
Loading…
Add table
Reference in a new issue