Python呼叫scp向伺服器上傳檔案

2021-09-12 03:06:02 字數 1191 閱讀 6502

最近做的專案中有乙個小功能:在python中呼叫scp命令

使用ssh登入,然後將指定目錄中的上傳到伺服器指定目錄

網上搜了很多方法都沒用,最後終於碰到乙個可以成功上傳的,特此記錄

import paramiko  # 用於呼叫scp命令

from scp import scpclient

# 將指定目錄的檔案上傳到伺服器指定目錄

# remote_path遠端伺服器目錄

# file_path本地資料夾路徑

# img_name是file_path本地資料夾路徑下面的檔名稱

def upload_img(img_name, remote_path="/var/www/html/public/thinkfont/competitor/data/font/oppo/preview_pic", file_path="d:\pythonproject\img"):

# img_name示例:07670ff76fc14ab496b0dd411a33ac95-6.webp

host = "***.***.***.***" #伺服器ip位址

port = 22 # 埠號

username = "duanyuanjin" # ssh 使用者名稱

password = "duanvlife" # 密碼

ssh_client = paramiko.sshclient()

ssh_client.set_missing_host_key_policy(paramiko.autoaddpolicy)

ssh_client.connect(host, port, username, password)

scpclient = scpclient(ssh_client.get_transport(),socket_timeout=15.0)

local_path = file_path + "\\" + img_name

try:

scpclient.put(local_path, remote_path)

except filenotfounderror as e:

print(e)

print("系統找不到指定檔案" + local_path)

else:

print("檔案上傳成功")

ssh_client.close()

linux使用scp實現伺服器A向伺服器B傳輸檔案

scp是有security的檔案copy,基於ssh登入。操作起來比較方便,比如要把當前乙個檔案copy到遠端另外一台主機上,可以如下命令。複製 如下 scp home daisy full.tar.gz root 172.19.2.75 home root 然後會提示你輸入另外那台172.19.2...

scp跨伺服器取檔案

實戰測試 1.登入26,把64的11.txt拷貝到26 2.登入26,把26的 test0423.txt檔案拷貝到64 總結 上面兩個命令其實是一樣的。格式 scp 要拷貝的檔案 目標路徑 功能 將前面的無論是檔案還是路徑拷貝到後面位址 其中要拷貝的檔案是本地的就只要乙個檔名,是遠端的就ip 檔名 ...

向伺服器上傳檔案

模擬form表單 前端 var formdata new formdata 自帶的函式 通過ajax上傳 ajax handlemodifysucc function data 後端 controller層 獲取前端換過來的資料 const modifycompany req,res req.bod...