2014-02-08 6 views
0

sftp를 통해 명령 줄에서 최신 파일을 다운로드하는 방법은 무엇입니까?쉘 sftp 원격 파일 다운로드

이것은 서버에 연결하고 현재 디렉토리를 나열합니다.하지만 파일 이름별로 마지막 파일을 찾고 다운로드하려면 어떻게해야합니까?

sshpass -p $pass sftp [email protected]$host << EOF 
cd /var/www/bak/db 
dir 
quit 
EOF 

갱신

#!/bin/sh 

pass="pwd" 
host="ftps://host:22" 

mkdir /ftp 
cd /ftp 
curlftpfs $host /ftp -o user=root:$pass 
ls 

오류

Error connecting to ftp: gnutls_handshake() failed: An unexpected TLS packet was received. 

답변

2

어쩌면

최신 파일을 얻고 batchfile 파일에 저장합니다

ssh [email protected] "find /path/to/dir -type f -printf 'get %p\n' | sort -n | tail -1" > batchfile 

를 얻을 파일 :

sftp -b batchfile [email protected]:/ 

내가 확인하고 작동!

1

그것은 sftp 폴더를 마운트 CurlFtpFS를 사용하는 것이 더 편리 할 수 ​​있습니다. "using curlftpfs to mount a FTP folder"의 자습서에서 자세한 내용을 설명합니다.

그런 다음 표준 명령을 사용하여 원하는 작업을 수행하십시오.

sshfs의 경우 how to Mount a SFTP Folder (SSH + FTP)에 대한 자습서를 따르십시오.

확실하지 않다면 sftp을 의미합니다.

+0

업데이트 된 질문 – clarkk

관련 문제