Como listar todos os arquivos e obter o tamanho total de todos os arquivos em um servidor SFTP?

Como listar todos os arquivos e obter o tamanho total de todos os arquivos em um servidor SFTP?

Estou conectado a um servidor sftp usando

sftp -i key.pem user@server

O servidor contém logs e posso listar logs de até 4 dias usando ls. O problema é que ls parece não conseguir buscar logs de 4 dias. Estou me perguntando como posso listar todos os logs no diretório e obter seu tamanho total?

Uma pergunta semelhante sobre o tamanho foi feitaaquie fornece uma solução usando du -hc. Mas este comando não existe no meu servidor sftp nem tenho acesso ssh. Alguma ideia?

Responder1

lftptem um ducomando e suporta o sftpprotocolo:

lftp sftp://user@host

Ou para especificar a chave ssh a ser usada e ignorar a solicitação de senha:

lftp -e 'set sftp:connect-program ssh -axi key.pem' sftp://user:@host

E execute du(ou du -bapara listar cada arquivo junto com seu tamanho em bytes, ou du -hapara usar sufixos) no sftpprompt. Observe que é diferente do ducomando Unix porque fornece o tamanho aparente em oposição ao uso do disco e não inclui o tamanho dos arquivos do diretório.

Se lsnão listar arquivos com mais de 4 dias, a explicação mais provável é que eles não estão ou não estão mais lá. O lscomando do sftpou lftpcliente apenas executará umConsulta "ler diretório" ou série de consultas no protocolo SFTPpara recuperar o conteúdo do diretório. Se o servidor não enviar o que está lá e você não tiver outra maneira de acessar os dados além do SFTP, não há muito mais que você possa fazer.

informação relacionada