Muito bom seus tutoriais,
- Fórum
- OTServ
- Tutoriais
- Tutoriais de Infraestrutura
- [Linux] Backup automatizado do banco MySQL
NI
[Linux] Backup automatizado do banco MySQL
Por Nightz, 14 de mai. de 2015 em Tutoriais de Infraestrutura
backup
automatizado
mysql
otserv
tibia
script
5.0 (1)
3
1.7k




info
Grupo: Campones
Registrado: 23/04/10
Posts: 39
Reputação: +23
Olá XTibianos!
Dessa vez vou ensinar como fazer um backup do banco de dados do seu servidor de forma automatizada, para caso algo aconteça você tenha um backup recente para dar rollback
Vamos lá?
Antes de começarmos, recomendo que instalem o editor de texto chamado nano, pois o vim pode dar um pouco de trabalho para os mais leigos. Para instalar o nano basta rodar o comando abaixo:
-> CentOS
->Ubuntu/Debian
O primeiro passo é instalar o cron, que nada mais é do que um software que executa de tempo em tempo scripts ou outros softwares de forma automatizada da maneira que você programá-lo. Em alguns sistemas operacionais o mesmo já vem instalado, mas caso não esteja no seu servidor, utilize o comando abaixo:
-> CentOS
->Ubuntu/Debian
Em seguida vamos alterar o editor de texto padrão para o nano, usando o comando abaixo:
Observação: caso sinta facilidade ou prefira utilizar o vim ou qualquer outro editor de texto, basta pular essa etapa e continuar o tutorial normalmente
Agora vamos configurar o script de backup. Acesse a pasta em que encontra seu servidor e crie uma nova pasta chamada backup com o comando abaixo:
Agora faremos o download do script. Deixarei o código fonte do script abaixo para caso um dia no futuro o link de download do mesmo fique indisponível. Para baixar o script utilize o comando abaixo:
Abaixo segue o código fonte do script. Será necessário editar algumas informações no mesmo antes de utilizá-lo. Utilize o nano para abrir o script:
Em vermelho estão as partes que deverão ser editadas para que o script funcione. Explicarei como configurar abaixo do código.
#!/bin/bash # ------------------------------------ # Parte de configuração # ------------------------------------ #onde sera salvo o backup CAMINHO="/pasta-do-seu-servidor/backup" #nome que o script salvara o arquivo de backup .sql NOMEBACKUP="ot-backup-do-banco" #usuário mysql - normalmente root USER="root" #senha do mysql - normalmente mesma do phpmyadmin SENHA="suasenha" #banco do servidor BANCO="bancodoservidor" # ------------------------------------ # Execução do script - nao mexer # ------------------------------------ TEMPO="$(date +'%d-%m-%Y-%H-%M')" if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql"3 variáveis deverão ser editadas para que o script funcione (em alguns casos 4). Edite sempre o valor entre aspas duplas, por exemplo: CAMINHO="editar_aqui". Abaixo estão as variáveis a serem editadas
Feito isso, caso esteja utilizando o nano para editar o arquivo, aperte CTRL + X, em seguida aperte Y (ou S caso o sistema operacional esteja em português) e por fim pressione ENTER para salvar o arquivo.
Agora, vamos configurar o cron para rodar o script. Vou ensinar como configurá-lo para rodar x vezes ao dia, em um outro tutorial ensino melhor a utilização do cron, caso queiram. Para isso, digite o comando abaixo:
Seu editor de texto padrão vai abrir um arquivo para editar. Vamos inserir uma linha nesse arquivo para que o cron funcione:
O código acima rodará o backup ás 00:00 e 12:00. Caso queira alterar isso, basta alterar os números em vermelho. Salve o arquivo de texto que abriu e pronto, seu backup automatizado está funcionando!
Para se certificar e ter certeza que está tudo funcionando 100%, após 10 minutos do horário configurado para o cron, acesse a pasta em que seu servidor se encontra, em seguida acesse a pasta backup e verifique se há arquivos .sql nela. Cada backup será salvo como "ot-backup-do-banco-data-do-backup.sql".
Fim! Espero que seja útil e até a próxima
(Esse tutorial foi completamente escrito por mim. Qualquer cópia deve ser previamente autorizada e conter os devidos créditos.)