Openssh sftp-server: suporte a .filepart?

5

Estou tentando configurar um servidor SFTP, executando o Ubuntu Server 11.04. Eu instalei o openssh-server para fornecer acesso SSH. O que estou tentando fazer é fazer com que os uploads de arquivos sejam executados com um sufixo (.filepart ou qualquer outro), que seria removido após a conclusão da transferência.

A ideia de fluxo é:

  1. Uploads do usuário cat.jpg
  2. O servidor começa a escrever cat.jpg.filepart no diretório de destino
  3. Após a conclusão do upload, o servidor recolhe o cat.jpg anterior (se houver) e renomeia cat.jpg.filepart para cat.jpg

Isso garante que os uploads incompletos de arquivos não substituam os arquivos existentes. Alguma ideia de como posso fazer isso?

Obrigado

    
por The Mighty Rubber Duck 22.06.2011 / 09:29

4 respostas

1

O ProFTPD pode suportar SFTP através do módulo mod_sftp , e podem fazer exatamente o que você descreve com a diretiva HiddenStores ; essa funcionalidade é suportada para uploads de FTP e SFTP.

Divulgação completa: eu sou o autor do ProFTPD e mod_sftp .

    
por 10.01.2016 / 01:37
4

O servidor OpenSSH não suporta isso.

O cliente WinSCP SFTP pode fazer isso de um lado do cliente, se isso ajudar.

Veja o link

Por padrão, é usado o sufixo .filepart para arquivos acima de 100 KB, mas você pode configurá-lo para usá-lo em qualquer arquivo.

Veja o link

(eu sou o autor do WinSCP)

    
por 27.01.2015 / 21:50
2

Use o rsync (sobre o ssh). Ele foi projetado para não destruir arquivos existentes se as cópias falharem no meio.

    
por 22.06.2011 / 10:27
2

Se você conseguir escrever Perl, poderá escrever seu servidor SFTP personalizado em cima de Net :: SFTP :: Server / Net :: SFTP :: Servidor :: FS .

Atualizar : consulte sftp-server-atomic-put.pl

    
por 30.06.2011 / 11:09