如何在命令行中通过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.
答案 0 :(得分:2)
也许那个
获取最新文件并保存到batchfile
文件:
ssh user@server "find /path/to/dir -type f -printf 'get %p\n' | sort -n | tail -1" > batchfile
获取文件:
sftp -b batchfile user@server:/
我检查过它有效!
答案 1 :(得分:1)
使用CurlFtpFS
挂载sftp
文件夹可能更方便。 "using curlftpfs to mount a FTP folder"上的教程解释了详细信息。
然后使用标准命令来实现您想要的目标。
或sshfs
关注how to Mount a SFTP Folder (SSH + FTP)上的教程。
不确定您的意思是sftp
。