empurrando arquivos via sftp

2

Um cliente quer que enviemos arquivos de dados para eles diariamente usando SFTP (FTP over SSH). Somos uma loja 100% Microsoft sem administradores Linux na equipe. Eu estou procurando recomendações sobre como fazer isso. Já vi aplicativos diferentes para automatizar o envio de arquivos via SFTP, mas não sei se são uma boa abordagem ou não.

O que você achou ser a maneira mais fácil de lidar com isso em um ambiente Microsoft?

    
por Brettski 20.01.2011 / 21:58

4 respostas

6

Eu recomendo o PSFTP como o cliente escolhido para transferir esses dados para o destino remoto. link

Seus produtos são sólidos e se tornaram bastante populares a partir do sucesso do PUTTY, seu cliente SSH.

    
por 20.01.2011 / 22:07
2

Você só precisa de um cliente SFTP e uma maneira de criar scripts e agendá-lo.

  1. O WinSCP é muito comum para o software cliente. É roteirizado assim ...
  2. você vai querer usar o que você está confortável e de preferência já usando - batch, powershell, VBScript, KiXtart, o que for.
  3. Você pode programá-lo com a compilação em Tarefas agendadas.

Essa é a maneira mais simples, usando todas as ferramentas nativas e apenas um componente de terceiros. Os bits complicados serão:

  1. a lógica do seu script. Como você vai lidar com os erros? Todos os tipos de erros - você perdeu a internet então o lado deles caiu. O servidor de arquivos do qual você puxou foi configurado incorretamente e não foi possível excluir o arquivo depois que ele foi enviado. Na verdade, essa é outra pergunta - você está excluindo-os depois que eles são enviados? Você está alimentando um pipeline ou uma cópia de arquivo?
  2. Como você lidará com a possibilidade de várias tarefas em execução - o trabalho 1 AM demora muito, por isso ainda está em execução quando 2 AM é iniciado, por exemplo. Você pode trabalhar em alguns desses com os recursos internos do agendador, como matar tarefas que demoram muito.
  3. Isso precisa ser HA? Se o seu servidor falhar, você precisa de outro para continuar de onde parou?

Você pode conseguir que o seu script execute um loop e instale-o como um serviço, para que você não precise se preocupar com vários trabalhos que tentam pegar os mesmos arquivos.

    
por 20.01.2011 / 22:10
1

Eu tenho usado esse componente Open Source / free .Net para entregar arquivos para SFTP sem nenhum problema nos últimos 2 anos.

Se você referenciar os arquivos de montagem (Tamir.SharpSSH.dll + 2), em poucos linhas de código que você pode fazer SFTP ..

            Sftp sftpClient = new Sftp(host, userName, password);
            sftpClient.Connect();

            sftpClient.Put(filePath, @"filename.txt");
            sftpClient.Close();

Você pode desenvolver um aplicativo do Windows ou um serviço do Windows para entregar fules

Faça o download da montagem aqui:

link

Descrição: O SharpSSH é uma implementação .NET pura do conjunto de protocolos do cliente SSH2. Ele fornece uma API para comunicação com servidores SSH e pode ser integrado em qualquer aplicativo .NET. A biblioteca é uma porta C # do projeto JSch da JCraft Inc. e é lançada sob licença de estilo BSD.

O

SharpSSH permite que você leia / grave dados e transfira arquivos por canais SSH usando uma API semelhante à API do JSch. Além disso, ele fornece algumas classes de wrapper adicionais que oferecem uma abstração ainda mais simples para a comunicação SSH.

    
por 09.02.2011 / 23:29
-1

Se você estiver procurando por um cliente SFTP programável e automatizável que não apenas seja executado no Windows, mas que seja projetado com o Windows em mente (ele não imita scripts semelhantes a shell estilo Linux, mas ele usa linguagens orientadas a objeto de alto nível como JavaScript ) você pode querer dar uma olhada em Syncplify .me script FTP .

    
por 14.12.2014 / 17:12