anúncios

Mostrando postagens com marcador ShellScript. Mostrar todas as postagens
Mostrando postagens com marcador ShellScript. Mostrar todas as postagens

sábado, 10 de setembro de 2022

Configurando script Shell no boot com Systemd no Linux

Systemd é um aplicativo de software que fornece diversos recursos para o GNU/Linux (Debian, Ubuntu, Fedora, RHEL). É o primeiro serviço a inicializar no processo de boot. Isso sempre é executado com o PID 1. Isso também nos ajuda a gerenciar os serviços do sistema Linux.

Criando um script Shell

# vim /usr/bin/script.sh

#!/bin/bash
/*seu script Shell, que pode ser regras firewall (Iptables, NFTables, UFW), como outros serviços que quer que seja inicializado automaticamente no sistema*/

Setar permissão do script

# chmod chmod +x /usr/bin/script.sh

Criar o arquivo Systemd Unit


Crie um arquivo de unidade de serviço para o Systemd em seu sistema. Este arquivo deve ter extensão .service e salvo no diretório /lib/systemd/system/. Substitua o nome shellscript pelo nome do script correspondente a funcionalidade.

# vim /lib/systemd/system/shellscript.service

[Unit]
Description=Nome do objetivo do script Shell

[Service]
ExecStart=/usr/bin/script.sh
[Install]
WantedBy=multi-user.target


Habilitar o novo serviço


# systemctl daemon-reload
# systemctl enable shellscript.service
# systemctl start shellscript.service
# systemctl status shellscript.service

Uma vez executado o systemctl com a opção enable juntamente ao nome do serviço criado por meio do script Shell, irá inicializar automaticamente no boot do sistema Linux.

Feito!

segunda-feira, 3 de dezembro de 2018

Executando querys SQL no script Shell

Sabia que é possível executar querys SQL do SGBD MySQL/Maria por meio de script Shell, de forma equivalente como faria com a linguagem PHP? Pois então, ao invés de colocar a query diretamente no terminal do MySQL, pode automatizar rotinas relacionados ao SGBD MySQL via script Shell.

Exemplo de script Shell com querys SQL
script Shell que lista os usuários e gera o resultado da query no arquivo users.txt
O exemplo a seguir deve substituir o nome da base de dados, usuário e a query correspondente a tabela de usuários que tiver criado no seu servidor MySQL
lista-users.sh
#!/bin/bash
mysql -u < user > -p < database > -B -B -e "SELECT * FROM users" > users.txt


script Shell que exibe o tempo que o servidor MySQL está no ar ou uptime
uptime-mysql.sh
!#/bin/bash
mysql -u < user > -p -B -N -e "SHOW STATUS LIKE 'Uptime'"


Execução do script uptime-mysql.sh
reginaldo@Saitam:~$ chmod +x uptime-mysql.sh 
reginaldo@Saitam:~$ ./uptime-mysql.sh 
Enter password: 
Uptime 19106
Interpretação dos argumentos utilizados no script
#! /bin/bash — esta primeira linha é especial. Ela invoca o Bash, que irá interpretar e executar as instruções contidas neste script.
# lista-users.sh | uptime-mysql.sh — nome do script Shell
mysql -u < user > -p — inicia a conexão com o usuário criado no MySQL
-B — gera uma saída batch. Exibe os resultados, usando a caractere tab como separador de colunas.
-N — suprime o cabeçalho da coluna. Assim temos uma saída mais limpa.

Referências

[1] https://elias.praciano.com/2015/03/como-executar-queries-mysql-de-uma-shell-script/

Feito!