Recupera automaticamente um arquivo específico via SFTP

1

Como eu determino qual arquivo é o mais novo de um servidor remoto ao qual estou conectado via SFTP? Meu objetivo é recuperar um arquivo específico a cada dia, via SFTP. Os passos que vou seguir são:

  1. Conecte-se ao servidor via SFTP

  2. Recupere o nome do arquivo que eu preciso < - preciso de ajuda com esta etapa

  3. Faça o download

Eu posso descobrir como me conectar via SFTP a partir de um script, mas não tenho certeza sobre a melhor maneira de determinar qual arquivo será baixado.

Por exemplo, existem muitos arquivos no servidor assim chamados:

ABC-Alpha-Sun-May-12-abc123.xml.gz
ABC-Beta-Sun-May-12-abc123.xml.gz

Eu quero recuperar apenas o arquivo Alpha desse dia. Eu suponho que eu iria verificar o nome para "12 de maio" para saber se este é o arquivo de hoje? Ou talvez devesse verificar a data de criação do arquivo ou a data de modificação?

Como eu realmente recuperaria o nome do arquivo? Talvez eu recupere os nomes de todos os arquivos e os ordene de alguma forma?

O que você recomendaria como a melhor maneira de alcançar meu objetivo?

    
por Lothar_Grimpsenbacher 13.05.2013 / 21:03

1 resposta

2

Com o WinSCP, é fácil. Você pode usar a -latest switch do get command em scripts WinSCP .

Além disso, caso sua linguagem de script preferida seja o PowerShell, você também pode considerar usar o assembly WinSCP .NET com seu Session.ListDirectory method .

Há um exemplo no site do WinSCP, para todas essas abordagens ao download do arquivo mais recente .

(eu sou o autor do WinSCP)

    
por 14.05.2013 / 11:01