você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Enviando dados por ftp

Colaboração: Francisco A Silva

Data de Publicação: 27 de Fevereiro de 2006

Um uso interessante do ftp é a possibilidade de enviar dados para uma maquina remota como backup ou enviar dados para serem processados por um sistema de EDI. Abaixo apresento um script simples que resolve este problema. Vale lembrar que o usuario deve existir na maquina remota.

#!/bin/bash
# ############################################
# #                                          #
# # autor: FRANCISCO A SILVA                 #
# # data : 25/03/2004                        #
# # este script tem a finalidade de fazer    #
# # diariamente o backup do servidor de      #
# # e-mail  para o servidor de backup        #
# ############################################


HOST='192.168.1.11'                 # identificacao do servidor destino
USER='gunman'                       # usuario remoto no servidor destino
PASSWD='gunmanmail'                 # senha usuario remoto
FILE1='gunmanmail.tar'              # definicao do arquivo 1
FILE2='gunmanhome.tar'              # definicao do arquivo 2
FILE3='gunman-etc.tar'
FILE4='gunman-dns.tar'

tar -cvzf /home/tmp/$FILE1 /var/mail/*     # criacao do arquivo 1
tar -cvzf /home/tmp/$FILE2 /home/*         # criacao do arquivo 2
tar -cvzf /home/tmp/$FILE3 /etc/*          # criacao do arquivo 3
tar -cvzf /home/tmp/$FILE4 /var/named/*    # criacao do arquivo 4
ftp -n $HOST <<END_SCRIPT                  # abre sessao ftp
user $USER $PASSWD                         # loga o usuario
lcd /home/tmp/                             # muda de diretorio local
bin                                        # alterna para o modo binario
put $FILE1                                 # enviar arquivo1
put $FILE2                                 # enviar arquivo2
put $FILE3                                 # enviar arquivo3
put $FILE4                                 # enviar arquivo4
END_SCRIPT                                 # finaliza o script
rm /home/tmp/$FILE1                        # remove arquivos
rm /home/tmp/$FILE2
rm /home/tmp/$FILE3
rm /home/tmp/$FILE4
exit 0                                     # sai do script

Uma entrada no crontab para automatizar a rotina ficaria assim (considerando que o script esteja em /usr/bin/ftpenvia.sh com direitos de execucão):

# Rotina de backup
04 4 * * *  /usr/bin/ftpenvia.sh


Veja a relação completa dos artigos de Francisco A Silva