Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Script de backup de banco de dados MySQL com integração com Telegram (ShellScript)

Olá, pessoal! Hoje vamos falar sobre um script de backup de banco de dados MySQL com integração com o Telegram, utilizando ShellScript. Ter backups regulares do seu banco de dados é essencial para garantir a segurança e a disponibilidade dos dados. Com esse script, você pode automatizar o processo de backup e receber notificações instantâneas sobre o status do backup por meio do Telegram.

Aqui está o código do script:

#!/bin/bash

# Variáveis
DATA=$(date +%Y-%m-%d_%H-%M-%S)
echo $DATA
MYSQLDUMP="mysqldump -h HOST-u root -pSENHA"
MYSQL="mysql -h HOST -u root -pSENHA "
BACKUP_DIR="/MYSQL_DUMPS/"
TELEGRAM_CHAT_ID=""
TELEGRAM_BOT_TOKEN=""



databases=`$MYSQL -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|sys|mysql)"`
echo "Enviando mensagem inicial para o Telegram"

curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d chat_id=$TELEGRAM_CHAT_ID -d text="@==========================@
👀 Iniciando Backup Banco de dados em $DATA..."

for db in $databases; do
  mkdir -p $BACKUP_DIR/$db
  find $BACKUP_DIR/$db -mtime +3 -exec rm {} \;
  $MYSQLDUMP --force --opt --databases $db > "$BACKUP_DIR/$db/$DATA.sql"
  TAMANHO=`du -sh $BACKUP_DIR/$db/$DATA.sql | cut -f1`
  curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d chat_id=$TELEGRAM_CHAT_ID -d text="✅ O dump $db foi criado com sucesso.
💾 O tamanho ocupado é $TAMANHO
  "
done

curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d chat_id=$TELEGRAM_CHAT_ID -d text="

Os dumps dos bancos de dados foram realizados com sucesso.

@==========================@"

O script possui algumas variáveis que você precisa configurar antes de executá-lo:

  • HOST: Insira o nome do host onde o banco de dados MySQL está sendo executado.
  • SENHA: Substitua pela senha do usuário root do MySQL.
  • BACKUP_DIR: Diretório onde os backups serão armazenados. Certifique-se de ter permissões de gravação nesse diretório.
  • TELEGRAM_CHAT_ID: ID do chat do Telegram para receber as notificações de backup. Você precisa criar um bot no Telegram e obter o ID do chat.
  • TELEGRAM_BOT_TOKEN: Token de acesso do bot do Telegram. Você precisa criar um bot no Telegram e obter o token.

Após configurar as variáveis, você pode executar o script. Ele irá fazer o dump de todos os bancos de dados, criando um diretório para cada banco dentro do diretório de backup especificado. Cada backup terá o nome no formato DATA.sql, onde DATA é a data e hora em que o backup foi criado.

Durante o processo, o script enviará mensagens para o chat do Telegram informando o início do backup, o sucesso de cada backup individual e uma mensagem final informando que todos os backups foram realizados com sucesso.

Tenha em mente que esse script é apenas um exemplo e pode ser personalizado de acordo com suas necessidades específicas. Certifique-se de adaptá-lo ao seu ambiente e às suas configurações do MySQL antes de utilizá-lo em produção.

Manter backups regulares do seu banco de dados MySQL é uma prática fundamental para garantir a segurança dos dados e a rápida recuperação em caso de falhas. Com a integração com o Telegram, você receberá notificações em tempo real sobre o status dos backups, permitindo uma maior tranquilidade e controle sobre o processo.

Espero que esse script seja útil para você. Se tiver alguma dúvida ou sugestão, não hesite em deixar um comentário. Até a próxima!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima