adsjcsp
(usa Debian)
Enviado em 20/10/2010 - 18:43h
#!/bin/bash
#Protocolo HTTP
#Dvide a data em DIA, MES, ANO
DIA=`date +%d`
MES=`date +%m`
ANO=`date +%Y`
#Esta função pega de 1 a 14 caracteres de cnpj que esta em um arquivo de cnpj
_cnpjdir()
{
#cat /home/srv-ftp/desenvolvimento/cnpjlojas | grep '\<[0-9]\{1,14\}\>' | grep '^1'
cut -b1-14 /home/srv-ftp/desenvolvimento/cnpjlojas
}
#faz um loop para a contagem de mes, estou usando dessa forma por que o dia que esta na separação da data não vem com o 0 e isso me causou transtorno então fiz dessa forma
for MES in 01 02 03 04 05 06 07 08 09 10 11 12; do
#faz o loop pegando todos os cnpjs que estão no arquivo de cnpj
for cnpj in $( _cnpjdir );do
#cria pastas dentro de um determido diretorio com a numeração dos cnpjs
mkdir -p -m 777 /home/srv-ftp/desenvolvimento/danfe/$cnpj
#cria a pasta de ANO e MES para organizar os arquivos que serão movidos
mkdir -p -m 777 /home/srv-ftp/desenvolvimento/danfe/$cnpj/$ANO-$MES
#entra na pasta repositório onde é colocado sem distinção todo e qualquer arquiivo XML
cd /home/srv-ftp/desenvolvimento/repositorio/
#aqui se faz a divisão dos arquivos por cnpj e por ano e mes, ou seja, cada arquivo tem neu nome, mais os dados encontram-se dentro do arquivo, eu procuro lá pelo cnpj e pela data.
getarq=`grep -l $cnpj *.xml | xargs grep -l "<dEmi>$ANO-$MES"`
#aqui movemos os aqruivos previamente selecionados pra suas respectivas pastas, ou seja, para a pasta de cnpj correta e a pasta da data (ANO-MES) em que ele foi criado isso sem mostrar os erros por que como tem varios tipos de arquivos xml dentro dessa pasta o que ficar lá será feito outra coisa com eles.
mv $getarq /home/srv-ftp/desenvolvimento/danfe/$cnpj/$ANO-$MES 0> /dev/null 1> /dev/null 2> /dev/null
#Sei que o script esta tosco, mais para a urgencia que tenho esta de bom tamanho, mais quero organoza-los de forma melhor. Então decidi criar um script para popular uma tabela no mysql, para que ogerenciasmento se dê de forma mais eficaz.
#aqui abrimos o mysql e com a senha e o usuário liberado pra tal, da segunda linha em diante é a tabla onde quero popular com os arquivos xml especificamente no campo no 3 campo
mysql -u usuario -psenha -e \
"INSERT INTO danfes
VALUES(
'null',
'$caminho',
LOAD_FILE(`find .$cnpj -type f`),
'$ANO-$MES',
now(),
'N',
'null',
'null')" danfe
done
done
# Extrutura de base de dados para gerenciar danfes Banco de dados=dnafe tabela=danfes campos= id, caminho, arquivo, data, cnpj, verificado, data_ent, data_ver