다음을 사용하여 SFTP 서버에 연결되어 있습니다.
sftp -i key.pem user@server
서버에는 로그가 포함되어 있으며 ls
. 문제는 ls가 4일 이전 로그를 가져올 수 없는 것 같다는 것입니다. 디렉토리의 모든 로그를 어떻게 나열하고 전체 크기를 얻을 수 있는지 궁금합니다.
크기에 대한 비슷한 질문이 요청되었습니다.여기을 사용하여 솔루션을 제공합니다 du -hc
. 하지만 이 명령은 내 SFTP 서버에 존재하지 않으며 SSH 액세스 권한도 없습니다. 어떤 아이디어가 있나요?
답변1
lftp
명령 이 있고 프로토콜 du
을 지원합니다 sftp
.
lftp sftp://user@host
또는 SSH 키를 지정하여 암호 프롬프트를 건너뛰려면 다음을 수행하십시오.
lftp -e 'set sftp:connect-program ssh -axi key.pem' sftp://user:@host
그리고 프롬프트에서 실행 du
(또는 du -ba
바이트 단위 크기와 함께 각 파일을 나열하거나 du -ha
접미사를 사용)합니다 sftp
. du
디스크 사용량이 아닌 겉보기 크기를 제공하고 디렉터리 파일의 크기를 포함하지 않는다는 점에서 Unix 명령과 다릅니다 .
4일보다 오래된 파일이 나열되지 않으면 ls
해당 파일이 없거나 더 이상 존재하지 않기 때문일 가능성이 높습니다. 또는 클라이언트 ls
의 명령은 다음 작업을 수행합니다.sftp
lftp
SFTP 프로토콜의 "디렉터리 읽기" 쿼리 또는 일련의 쿼리디렉토리 내용을 검색합니다. 서버가 거기에 있는 것을 보내지 않고 SFTP를 통하는 것 외에는 데이터에 액세스할 수 있는 방법이 없다면 할 수 있는 일이 거의 없습니다.