SELECIONAR A SAÍDA

1. SELECIONAR A SAÍDA

Andryos
andryosribeiro

(usa Red Hat)

Enviado em 07/11/2022 - 17:16h

Boa tarde pessoal, tudo bem?

Estou com uma baita dificuldade. Preciso fazer um shell script que me traga o tempo total estimado de rollback de certa transação. A base é essa:

select * from information_schema.innodb_trx\G
Resultado:
trx_mysql_thread_id: 17
trx_rows_modified: 18460230

select sleep(60);

select * from information_schema.innodb_trx\G
trx_mysql_thread_id: 17
trx_rows_modified: 17169927

select SEC_TO_TIME(round((17169927*60)/(18460230–17169927))) as ‘Estimation Time of Rollback’;

Essa é a base para a estimativa, porém, preciso fazer isso dentro de um shell script, preciso que ele faça tudo de forma automática, pegue o primeiro valor e o segundo e faça os calculos, etc. Alguém saberia me ajudar?




  


2. RE: SELECIONAR A SAÍDA

Luiz Eduardo Maia Ribeiro
distromaialinux

(usa Debian)

Enviado em 09/11/2022 - 19:22h

Oi tente fazer algo assim, e os comando é para o shell BASH:
Mas antes lembre que banco de dados é uma coisa e shell é outra. Dicas abaixo:

$ mysql -u usuario -pSenha -e "comando"

Com este comando podemos criar tarefas pré-programadas como, por exemplo, restauração de uma base SQL:

$ mysql -u usuario -psenha -e "source base.sql"

o comando source é como se você digitasse bash base.sql no terminal.

#Tem a possibilidade de criar arquivo de textos ou com comandos dessa forma aqui mostrada aqui em baixo:

cat > dados.sql << "EOF"

select * from information_schema.innodb_trx\G
select sleep(60);

select * from information_schema.innodb_trx\G
select SEC_TO_TIME(round((17169927*60)/(18460230–17169927))) as ‘Estimation Time of Rollback’;

EOF

mysql -u usuario -psenha -e source dados.sql

ou

mysql -u usuario -psenha -e bash dados.sql

###########################################################################

# EXEMPLO DE SHELLSCRIPT

cat > programa.sh << "EOF"
#!/bin/bash
nome="Eduardo"
printf "Olá Mundo! \n meu nome é $nome"
sleep(5)
EOF

cat > executavel.sh << "EOF"
#!/bin/bash
printf "\n\nExecutando o programa\n\n"
source programa.sh
bash programa.sh
./programa.sh
# senão funcionar um, funciona o outro.
EOF

chmod +x executavel.sh

./executavel.sh

############################################################################################

Depois dos programas prontos, você se quiser automatizar, você terá que ver como funciona o programa cron ou fcron ou o mais conhecido como crontab.

Bom, no fim, foi isso que eu pesquisei e espero que você consigo tirar proveito de alguma coisa. Valeu!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts