linux - shell sftp 下载远程文件

标签 linux shell sftp

如何在命令行中通过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/

相关文章:

linux - set $(wc -l $title_file) 在 shell 中是什么意思?

unix - 检查符号链接(symbolic link)

c - 在postgresql中执行系统命令

excel - 如何使用 ftp、http 或套接字从电子表格中使用 VBA for Microsoft Office 上传数据?

c - 读取远程PC的SMBIOS

linux - Bash 解析路由命令中的输出

linux - 我如何在以前的 grep 所针对的文件列表中进行 grep?

C# SFTP 没有这样的文件

java - 如何从 SFTP 服务器获取文件列表?

linux - 使用 makefile 检查符号链接(symbolic link)是否存在,如果不存在则创建