[英]shell sftp download remote file
如何在命令行中通過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:/
我檢查了,它可以工作了!
使用CurlFtpFS
掛載sftp
文件夾可能更方便。 有關“使用curlftpfs掛載FTP文件夾”的教程詳細說明。
然后使用標准命令來實現您想要的操作。
或者對於sshfs
遵循有關如何掛載SFTP文件夾(SSH + FTP)的教程。
不確定您是指哪個sftp
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.