Uncategorized

Centos Tarefa Cron para Verificar se myqsl/Mariadb está rodando

Hoje vou falar sobre uma coisa simples que fiz no linux, porem poupou bastante trabalho. Estamos usando um servidor na digital ocean. A instância é pequena, e o banco de dados um pouquinho grande.

Ocasionalmente, uma ou duas vezes por mês o banco de dados mysql “cai”. Então é necessário fazer via ssh e reiniciar o servidor. Usando do bash + crontab foi automatizada a verificação, se o mysql não estiver rodando o serviço é reiniciado.

Não sou especialista, por isso pode ser que alguém com mais bagagem possa contribuir. Dentro da pasta ~/executaveis, criei o arquivo checa_mysql.sh:


cd ~/executaveis/
nano checa_mysql.sh
chmod 775 checa_mysql.sh

O chmod altera as permissões para que esse arquivo possa ser executado. O conteúdo de checa_mysql.sh ficou:


if service mysqld status | grep -q 'dead\|stopped'
then service mysqld restart
else echo "mysqld ok"
fi

O comendo service mysqld status verifica se o mysql está rodando. Através do grep verificamos se o retorno do status possui dead ou stopped. Se possuir reinicia através de service mysqld restart, se não, imprime que mysql está ok.

Para adicionar ao cron, bastou:


crontab -e

E no arquivo do cron adicionar a linha:

00 * * * * ~/executaveis/checa_mysql.sh

Será executado todo dia de hora em hora (hora cheia), para salvar o arquivo do cron:


ESC, e digite :wq para salvar


Script cron para Mariadb

Aproveitando para complementar, estou usando em alguns servidores o mariadb. O processo é semelhante:

Arquivo sobe-maria.sh

#!/bin/bash

if systemctl is-active mariadb.service | grep -q ‘inactive\|failed’
then
service mariadb restart
echo “$(date) mariadb sobe” >> “sobe-maria.log”
else
echo “mariadb ok”
fi

E no crontab:

5 * * * * /var/www/sobe-maria.sh

Melhorando o script anterior, agora é gravado o log de execução do serviço. Também o crontab é executado a cada 5 minutos.

Anúncios
Padrão

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s