Enviado em 08/01/2015 - 19:31h
Galera,
Boa Noite.
Estou criando um script que ele gera um arquivo com o nome de tablespaces e um de querys do banco para despois usar o SED para enviar ao arquivo final. Já tentei várias formas e vou colocar aqui a que achei mais correta e não deu certo se alguem me ajudar agradeço:
Primeiro vou postar os 2 arquivos que já consegui gerar.
TableSpace -> Depende do banco de dados pode ser que tanha umas 100 o script ja cria isso pra mim
Query -> O mesmo da tablespace
SCRIPT FINAL -> Quero pegar o resultado desses 2 arquivos e substituir ou colocar em determinada linha no meu arquivo final.
Segue abaixo. O de query ja consegui usando o comando CAT que joga o resultado no final do arquivo
É isso se alguem puder me ajudar agradeço.
Boa Noite.
Estou criando um script que ele gera um arquivo com o nome de tablespaces e um de querys do banco para despois usar o SED para enviar ao arquivo final. Já tentei várias formas e vou colocar aqui a que achei mais correta e não deu certo se alguem me ajudar agradeço:
Primeiro vou postar os 2 arquivos que já consegui gerar.
TableSpace -> Depende do banco de dados pode ser que tanha umas 100 o script ja cria isso pra mim
ts_[ARQUIVO_DAD], \
ts_[ARQUIVO_HML_DAD], \
ts_[ARQUIVO_HML_IND_M], \
ts_[ARQUIVO_HML_IND_P], \
ts_[ARQUIVO_IND_M], \
ts_[ARQUIVO_IND_P], \
ts_[ARQUIVO_TRN_DAD], \
ts_[ARQUIVO_TRN_IND_M], \
ts_[ARQUIVO_TRN_IND_P], \
Query -> O mesmo da tablespace
ts_[ARQUIVO_DAD].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_DAD'
ts_[ARQUIVO_DAD].NoDataFound=none
ts_[ARQUIVO_HML_DAD].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_HML_DAD'
ts_[ARQUIVO_HML_DAD].NoDataFound=none
ts_[ARQUIVO_HML_IND_M].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_HML_IND_M'
ts_[ARQUIVO_HML_IND_M].NoDataFound=none
ts_[ARQUIVO_HML_IND_P].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_HML_IND_P'
ts_[ARQUIVO_HML_IND_P].NoDataFound=none
ts_[ARQUIVO_IND_M].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_IND_M'
ts_[ARQUIVO_IND_M].NoDataFound=none
ts_[ARQUIVO_IND_P].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_IND_P'
ts_[ARQUIVO_IND_P].NoDataFound=none
ts_[ARQUIVO_TRN_DAD].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_TRN_DAD'
ts_[ARQUIVO_TRN_DAD].NoDataFound=none
ts_[ARQUIVO_TRN_IND_M].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_TRN_IND_M'
ts_[ARQUIVO_TRN_IND_M].NoDataFound=none
ts_[ARQUIVO_TRN_IND_P].Query=select "% USED" from dibda.zabbix_ts where tablespace_name='ARQUIVO_TRN_IND_P'
ts_[ARQUIVO_TRN_IND_P].NoDataFound=none
SCRIPT FINAL -> Quero pegar o resultado desses 2 arquivos e substituir ou colocar em determinada linha no meu arquivo final.
Segue abaixo. O de query ja consegui usando o comando CAT que joga o resultado no final do arquivo
#!/bin/bash
#Cria variavel com as Tablespaces para colocar no arquivo de query
VAR=$(cat /tmp/tsname)
#Substitui no aqruivo de query o 7 pela variavel -> Primeira tentantiva coloquei o numero na linha pois só tem ele no arquivo e tentei substituir pela variavel
sed -i "s|7|$VAR|g" query.props
#Segunda tentativa Coloca o resultado da variavel na linha 8 do arquivo.
sed '8s/.*/$VAR/' query_padrao.props > query.props
#Joga o resultado do cat para o arquivo final de query
cat /tmp/query.txt >> /root/query.props
É isso se alguem puder me ajudar agradeço.