Obtenha os arquivos mais recentes com lftp

0

Eu gostaria de saber se era possível baixar todos os arquivos mais recentes em um servidor ftp com lftp sem baixar os arquivos mais antigos.

Exemplos;

No meu servidor eu tenho

/doc
/vps
/order/{id}
/order/{id}
/order/archives

No meu computador:

/order/1010
/order/3058

Se eu excluir /order/3058 , o script não deverá fazer o download novamente.

Eu gostaria de baixar todos os /order/{id} à medida que forem disponibilizados. Mas, estes mudam todos os dias e eu não quero baixar todos os order/{id} de cada vez, apenas os mais recentes.

A particularidade é que meu servidor é protegido por SSL e eu preciso disso para conectar

set ftp:ssl-force true
set ftp:ssl-protect-data true
set ssl:verify-certificate false
    
por Joeffrey 18.11.2015 / 15:05

1 resposta

0

Não, lftp não faz exatamente o que você está pedindo. Isso tornaria necessário que lftp se lembrasse das atualizações anteriores. Em vez disso, seu recurso mirror fornece esses cenários que dependem apenas de uma comparação do conteúdo do diretório atual :

  • faça o download de todas as atualizações
  • faz o download de atualizações, enquanto exclui arquivos locais que não existem mais no servidor remoto.

No entanto (se você mantiver uma lista de exclusões locais que podem ser aplicadas a um script), lftp tem uma opção para excluir arquivos:

-X GP, --exclude-glob= GP
exclude matching files

Include and exclude options can be specified multiple times. It means that a file or directory would be mirrored if it matches an include and does not match to excludes after the include, or does not match anything and the first check is exclude. Directories are matched with a slash appended.

Usando a opção -X , lftp pode fazer o que quiser, mas apenas com algum trabalho da sua parte.

    
por 18.11.2015 / 22:58

Tags