Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Script não restaura os arquivos

O script não está encontrando o nome do arquivo, estou executando o script e ele sempre cai no laço do else como se o arquivo não existisse. segue como está o código:

#!/bin/bash

caminho_restore=/home/thiago/restore_amazon
aws s3 sync s3://teste-mysql-backup/$(date +%F) $caminho_restore

cd $caminho_restore
if [ -f $1.sql ]
then
    mysql -u root multilidae < $1.sql
    if [ $? -eq 0 ]
    then
        echo "Restore executado com sucesso"
    fi
else
    echo "O arquivo não existe"
fi
7 respostas

Que distribuição do linux está usando?

Estou utilizando o ubuntu 18.04.1 LTS

tenta colocar

caminho_restore="/home/thiago/restore_amazon"

Coloquei as aspas, mas mesmo assim continua não efetuando o restore

solução!

Voce esta passando o nome do arquivo como argumento sem a extensão? Se sim, passe o nome completo para evitar o " $1.sql " A resposta dada (echo "O arquivo não existe") é referente a esse teste.

Estou passando o argumento completo com a extensão. Sem a extensão o restore foi executado. O problema é que o $1 com a extensão o arquivo era nomeado para $1.sql.sql, por isso o arquivo não existia. Alterei o script para $1 e o restore foi executado. Obrigado pela ajuda.

Marca aí minha resposta como solucionadora pra ajudar a gente. Pontos é tudo nessa vida rsrsrs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software