温馨提示×

如何用SFTP批量上传文件

小樊
37
2025-03-06 21:34:40
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

使用SFTP(Secure File Transfer Protocol)批量上传文件可以通过多种方式实现,以下是几种常见的方法:

方法一:使用命令行工具 sftp

  1. 打开终端或命令提示符

    • 在Linux或macOS上,打开终端。
    • 在Windows上,可以使用PuTTY或其他支持SFTP的客户端。
  2. 连接到SFTP服务器

    sftp username@hostname
    

    输入密码后,你将进入SFTP交互模式。

  3. 使用put命令批量上传文件: 你可以使用通配符来批量上传文件。例如,如果你想上传当前目录下所有.txt文件:

    put *.txt
    

    或者,如果你想上传指定目录下的所有文件:

    put /path/to/local/directory/*
    
  4. 退出SFTP会话

    exit
    

方法二:使用图形化工具(如FileZilla)

  1. 下载并安装FileZilla

  2. 打开FileZilla

    • 启动FileZilla客户端。
  3. 配置SFTP连接

    • 在“快速连接”栏中输入SFTP服务器的地址、用户名和密码。
    • 点击“快速连接”按钮。
  4. 浏览本地文件

    • 在左侧的“本地站点”窗格中,导航到你想要上传文件的目录。
  5. 浏览远程文件

    • 在右侧的“远程站点”窗格中,导航到你想要上传文件的目标目录。
  6. 批量上传文件

    • 选中你想要上传的文件或文件夹。
    • 右键点击选中的文件或文件夹,选择“上传”。
  7. 等待上传完成

    • FileZilla会显示上传进度条,等待上传完成。

方法三:使用脚本自动化

如果你需要频繁地进行批量上传,可以考虑编写一个脚本来自动化这个过程。以下是一个简单的Python脚本示例,使用paramiko库来实现SFTP批量上传:

import paramiko
import os

# 配置SFTP连接信息
hostname = 'hostname'
port = 22
username = 'username'
password = 'password'
local_directory = '/path/to/local/directory'
remote_directory = '/path/to/remote/directory'

# 创建SSH客户端
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
    # 连接到SFTP服务器
    ssh_client.connect(hostname, port, username, password)
    sftp = ssh_client.open_sftp()

    # 遍历本地目录中的所有文件
    for filename in os.listdir(local_directory):
        local_path = os.path.join(local_directory, filename)
        remote_path = os.path.join(remote_directory, filename)

        # 上传文件
        if os.path.isfile(local_path):
            sftp.put(local_path, remote_path)
            print(f'Uploaded {filename}')

finally:
    # 关闭SFTP连接
    if sftp:
        sftp.close()
    if ssh_client:
        ssh_client.close()

确保你已经安装了paramiko库:

pip install paramiko

通过以上方法,你可以轻松地使用SFTP批量上传文件。选择适合你需求的方法进行操作即可。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何用SFTP上传大文件

0