Uma grande dificuldade é quando precisamos criar uma rotina automática que envie um arquivo para um repositório FTP. Descrevo abaixo a forma que fiz isso, através de um arquivo BAT, onde o arquivo a ser enviado é automaticamente compactado e enviado ao servidor FTP.
1 - Devemos criar um arquivo .LST que conterá as informações de quais diretórios estarão os arquivos a serem compactados antes do envio para o FTP. Basta abrir um bloco de notas e digitar o caminho conforme abaixo:
Arquivo "LISTA.LST"
E:\BACKUP\*.docx
E:\BACKUP\*.xlsx
Ou seja, será compactado todos os arquivos .DOCX e .XLSX do diretório E:\BACKUP
2 - Criar um arquivo .TXT com os dados de login do servidor FTP, e diretório que o arquivo será enviado no servidor, conforme abaixo, onde são passados o Usuario e Senha para acesso, o Diretorio dentro do servidor FTP, o modo de conexão e por fim o Disconnect para encerrar a conexão.
Arquivo FTP.TXT
user usuario_ftp senha_ftp
cd Diretorio
binary
prompt
put *.RAR
disconnect
bye
!
3 - Por último vamos criar o arquivo .BAT que irá fazer a compactação e enviar o arquivo para o servidor FTP utilizando os dados dos 2 arquivos criados anteriormente.
Arquivo COMPACTACAO_UPLOAD.BAT
ECHO |TIME /T > MENSAGEM.TXT
ECHO INICIANDO COMPACTACAO >> MENSAGEM.TXT
"C:\Program Files\WinRAR\RAR" a -agddmmyyyy_hhmm -r Backup.RAR @LISTA.LST"
ECHO |TIME /T >> MENSAGEM.TXT
ECHO FIM DA COMPACTACAO >> MENSAGEM.TXT
ECHO |TIME /T >> MENSAGEM.TXT
ECHO INICIANDO UPLOAD
ftp -s:ftp.txt -n ftp.empresa.com.br
ECHO |TIME /T >> MENSAGEM.TXT
ECHO FIM DO UPLOAD DO ARQUIVO DE BACKUP
Explicando o arquivo .BAT:
Nas 2 primeiras linhas, ele cria um arquivo no mesmo diretório que está o arquivo .BAT chamado "MENSAGEM.TXT" apenas como um Log da compactação dos arquivos;
Na 3ª linha, ele irá chamar via DOS o Winrar para compactar os dados do arquivo "LISTA.LST, criando um arquivo "Backup_DiaMesAno_HoraMinutos.RAR";
Na 4 e 5ª linha ele grava no arquivo de LOG o fim da compactação;
Nas 2 linhas seguintes ele grava no LOG o inicio do UPLOAD do arquivo para o servidor FTP;
Aa 8ª linha é o comando FTP, que lê o arquivo FTP.TXT com os dados de conexão do host "ftp.empresa.com.br" que é o endereço do FTP (também poderia ser o IP);
As duas ultimas linhas grava no LOG o final do Envio dos arquivos para o servidor FTP.
Agora basta agendar esse arquivo .BAT no Agendador de Tarefas do Windows para que tudo funcione. Obs: Todos esses arquivos utilizados (Lista.lst, Ftp.txt e Compactacao_Upload.bat) devem estar no mesmo diretório.
Obrigado pela postagem, excelente artigo, exatamente o que precisava saber.
ResponderExcluirola bom dia!
ResponderExcluiresse comando preciso alterar tbm?
"C:\Program Files\WinRAR\RAR" a -agddmmyyyy_hhmm -r Backup.RAR @LISTA.LST"
Sabe Tudo, obrigado!
ResponderExcluirParabéns pelo artigo, muito bem explicado.
ResponderExcluir