2014-02-08 170 views
0

如何在命令行中通過sftp下載最新的文件?shell 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]:/ 

我檢查和它的作品!