Você deseja um script shell (.sh
) para gerenciar backups e restaurações de todos os seus bancos de dados MySQL. Vou criar um script que aceita um argumento opcional. Se um caminho for fornecido, o script tentará restaurar os bancos de dados a partir de um arquivo .sql
localizado nesse caminho. Se nenhum caminho for fornecido, ele criará um backup de todos os bancos de dados.
Aqui está um exemplo de como esse script pode ser estruturado:
#!/bin/bash
# Configuração do MySQL
USERNAME="homestead"
PASSWORD="secret"
# Verifica se um caminho foi fornecido
if [ "$#" -eq 1 ]; then
# Restaura os bancos de dados a partir do arquivo fornecido
MYSQL_DB_PATH=$1
echo "Restaurando bancos de dados a partir de $MYSQL_DB_PATH..."
mysql -u $USERNAME -p$PASSWORD < $MYSQL_DB_PATH
else
# Faz backup de todos os bancos de dados
BACKUP_FILE="all_databases_$(date +%Y%m%d_%H%M%S).sql"
echo "Criando backup de todos os bancos de dados em $BACKUP_FILE..."
mysqldump --user=$USERNAME --password=$PASSWORD --all-databases > $BACKUP_FILE
fi
Para usar esse script:
- Salvar o script: Salve o código acima em um arquivo chamado
backup_restore.sh
no seu servidor. - Tornar executável: Execute
chmod +x backup_restore.sh
para tornar o script executável. - Executar o script:
- Para criar um backup:
./backup_restore.sh
- Para restaurar de um arquivo específico:
./backup_restore.sh /caminho/para/o/arquivo.sql
- Para criar um backup:
Nota Importante:
- Segurança: Este script contém o nome de usuário e senha em texto claro. Tenha cuidado com a segurança e as permissões deste arquivo.
- Restauração: Ao restaurar, certifique-se de que o arquivo
.sql
esteja no formato correto e seja compatível com a estrutura dos seus bancos de dados existentes. Restaurar de um backup incorreto pode sobrescrever dados valiosos. - Teste: Sempre teste scripts como este em um ambiente de teste antes de usá-los em produção para evitar perda de dados.