sftp非交互式下载文件夹 一行命令即可

  • 在工作中需要通过脚本下载sftp的文件 网上找了一大圈都是交互式的 不方便
  • 即使有交互式的也不简洁
  • 一行命令即可
sftp -r -l 4000  -i /home/user/.ssh/sftp_id_rsa -P 32  user@ip:/data0/  /data0/test/
# -r 递归下载
# -l 限速
# -i 指定私钥
# -P 指定端口
# /data0/test/  本机所需要保存的目录
SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议,它通过SSH(Secure Shell)进行加密和身份验证。交互式上传文件是指在不需要人工干预的情况下,通过脚本或程序自动上传文件到远程服务器。 要实现SFTP交互式上传文件,可以使用以下步骤: 1. 首先,确保你的系统上已经安装了OpenSSH客户端。如果没有安装,可以通过包管理器进行安装。 2. 在脚本或程序中,使用SFTP命令来进行文件上传。SFTP命令的基本语法如下: ``` sftp [选项] [用户名@]主机名 ``` 3. 在SFTP会话中,使用`put`命令来上传文件。`put`命令的语法如下: ``` put 本地文件路径 [远程文件路径] ``` 其中,本地文件路径是要上传的文件在本地系统中的路径,远程文件路径是要上传到远程服务器上的路径。如果不指定远程文件路径,则默认将文件上传到当前目录。 4. 在脚本或程序中,可以使用重定向符号`>`将SFTP命令和参数写入一个文本文件,然后使用`-b`选项将该文本文件作为输入传递给SFTP命令。这样可以实现完全交互式的上传过程。 下面是一个示例的交互式上传文件的脚本: ```bash #!/bin/bash HOST="远程主机名" USERNAME="用户名" PASSWORD="密码" LOCAL_FILE="本地文件路径" REMOTE_FILE="远程文件路径" # 将SFTP命令和参数写入一个文本文件 echo "put $LOCAL_FILE $REMOTE_FILE" > sftp_commands.txt # 使用SFTP命令执行上传 sftp -b sftp_commands.txt $USERNAME@$HOST << EOF $PASSWORD EOF # 删除临时的SFTP命令文件 rm sftp_commands.txt ``` 请注意,上述示例中使用了密码进行身份验证。为了安全起见,建议使用SSH密钥对进行身份验证,而不是密码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值