Script de backup ftp

1. Script de backup ftp

Reginaldo Florentino de Lima
florentino

(usa Outra)

Enviado em 23/06/2010 - 15:04h

Meus amigos necessito de ajuda para solução de problemas com script de backup via ftp vou postar o script e o erro.
já testei outros scripts e ocorre o mesmo erro em todos apenas um me da uma mensagem pedindo para digitar a senha.
o usuário e a senha estão corretos e consigo efetuar upload manualmente mas através do script não consigo.

#!/bin/bash
##############Scrip de backup#####################
##Autor: teste

#Diretorio do log
bkplog=/var/log/backup

#Diretorios de backup
#Colocar o caminho dos diretorios entre aspas e dentro dos parenteses
bkpdir=("/opt/firebird/")

#aquivo de backup
cd /home/reginaldo/Backup/
bkp=bkp_`date +%d%m%Y`.tar.bz2

#Alterar os dados abaixo para o FTP
#Dados do FTP
ftp=xxx.xxx.xxx.xxx
user=usuario
pass=senha


#Funcao para envio do backup por FTP
function envia_ftp(){
ftp -in $ftp <<EOF
user $user $pass
put $bkp
quit
EOF
echo "`date "+%d-%m-%Y"` Backup feito com sucesso `date "+%HH:%MM"`" > $bkplog/backup.log

}

#Backupeando em tar.gz.
tar -cjvf bkp_`date +%d%m%Y`.tar.bz2 ${bkpdir[@]}
echo "conectado"
#gerando log de backup
if [ $? -ne 0 ] # Testa se o ultimo comando se foi execudado com sucesso.
then
echo "`date "+%d-%m-%Y"` Backup com erro `date "+%HH:%MM"`" > $bkplog/backup.log
else
envia_ftp
fi

#Aterar o endereco de e-mail
#Enviando e-mail com o log
#cat $bkplog/backup.log |mail [email protected] -s "Log do backup"
47,1 Fim



o erro é o seguinte:

tar: Removendo `/' inicial dos nomes dos membros
/opt/firebird/
/opt/firebird/teste
conectado
Login incorrect.
Login failed.
Please login with USER and PASS.
ftp: bind: Address already in use




  


2. Re: Script de backup ftp

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 23/06/2010 - 17:39h

Execute o seu script dessa forma:

# bash -x script.sh


3. Script de backup ftp

Reginaldo Florentino de Lima
florentino

(usa Outra)

Enviado em 24/06/2010 - 14:10h

Infelizmente não deu certo o erro continua, gostaria de saber como eu indico a pasta do FTP para fazer o upload, pois com linha de comando eu consigo usando o put e indicando um diretorio, acho que esse é o problema


4. Re: Script de backup ftp

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 24/06/2010 - 14:57h

Eu sei q o erro continua. O q eu t passei é só um depurador do script. Passa o resultado do comando q t passei aki.


5. Re: Script de backup ftp

rodrigo martins
rodrigomb

(usa CentOS)

Enviado em 24/06/2010 - 15:02h

Se eu não me engano você precisa dizer no ftp pra qual pasta vc quer enviar...

na sua função você poderia por depois do user e pass

cd dir_do_ftp

e se precisar entrar em outro diretório local do servidor que está rodando o script use:

lcd dir_local


ex: de um script meu:

ftp -vn $endftp <<EOF
user $usuarioftp $senhaftp
passive
binary
prompt
cd $dir_cliente
lcd $PATHLOG
mput $arquivo
quit
EOF


ou seja ele loga e usa o modo passivo , binario e prompt(para funcionar o MPUT), entra no dir do cliente que eu criei (pasta), muda de diretório local (variavel $pathlog que é um diretorio cheio de logs) e envia vários arquivos que eu defini na variavel $arquivo como por exemplo arquivo=*.log para enviar todos .log que tiver no dir.

no seu caso como não precisa do MPUT so adiciona o modo passivo binario e bota na função pra qual dir ele vai enviar o arquivo e o lcd antes do put para entrar no diretorio correto que tá o arquivo de backup.


6. Script de backup ftp

Reginaldo Florentino de Lima
florentino

(usa Outra)

Enviado em 24/06/2010 - 15:06h

+ bkplog=/var/log/backup
+ bkpdir=("/opt/firebird/")
+ cd /home/reginaldo/Backup/
++ date +%d%m%Y
+ bkp=bkp_24062010.tar.bz2
+ ftp=xxx.xxx.xxx.xxx
+ user=teste
+ pass=teste
++ date +%d%m%Y
+ tar -cjvf bkp_24062010.tar.bz2 /opt/firebird/
tar: Removendo `/' inicial dos nomes dos membros
/opt/firebird/
/opt/firebird/teste
+ '[' 0 -ne 0 ']'
+ envia_ftp
+ ftp -in xxx.xx.xxx.xx
Login incorrect.
Login failed.
Please login with USER and PASS.
ftp: bind: Address already in use
++ date +%d-%m-%Y
++ date +%HH:%MM
+ echo '24-06-2010 Backup feito com sucesso 15H:03M'



7. Re: Script de backup ftp

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 24/06/2010 - 15:52h

É... o lance ae é questão do usuário. Se permitir logon anônimo, apenas coloque o usuário como anonymous e sem senha. Depois tente d novo...


8. Script de backup ftp

Reginaldo Florentino de Lima
florentino

(usa Outra)

Enviado em 24/06/2010 - 16:25h

O problema é que se eu permitir logon anonimo qualquer um poderá entrar pelo FTP gostaria de usar um usuário e senha e não permitir logon anonimo mas, como não tenho muita experiêcia se você puder me ajudar te agradesço por isso melhor me diga como permitir o usuário e senha que eu criei. se querer abusar desde já obrigado