如何在命令行中通过sftp下载最新的文件?
这会连接到服务器并列出当前目录。但是我怎样才能找到按文件名排序的最后一个文件并下载呢?
sshpass -p $pass sftp root@$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.
最佳答案
也许是
获取最新文件并保存到batchfile
文件:
ssh user@server "find /path/to/dir -type f -printf 'get %p\n' | sort -n | tail -1" > batchfile
并获取文件:
sftp -b batchfile user@server:/
我检查过它有效!
关于linux - shell sftp 下载远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650384/