本地Python執行遠端伺服器Python指令碼

2021-10-09 04:43:36 字數 838 閱讀 2925

情景:

區域網內一台pc或伺服器(windows或linux)上有一python指令碼,如何執行它?

常用的兩種:遠端桌面和xshell遠端連線

那假如想要不通過以上兩種方式的前提下執行它,可行麼?

怎麼辦?

答案是肯定的

# -*-coding:utf-8

# author:lihaizhen

# date:

# description:

import paramiko,time

# 建立ssh物件

ssh = paramiko.sshclient()

# 允許連線不在know_hosts檔案中的主機

ssh.set_missing_host_key_policy(paramiko.autoaddpolicy())

# 連線伺服器

ssh.connect(hostname='xx.xx.xx.xx', port=22, username='', password='')

# 執行命令

stdin, stdout, stderr = ssh.exec_command('python /xx/xx/xx.py')

# 獲取命令結果

result = stdout.read().decode('utf8')

print(result) # 如果有輸出的話

# 關閉連線

ssh.close()

如果需要的話,你甚至可以打包成windows定時任務,來定時執行

(為何要多此一舉?xshell不方便麼,當然不是,這是真對業務部門(非it人事)的需求搞出來的玩意兒)

本地遠端訪問伺服器jupyter

jupyter是它的公升級版,一般anaconda安裝包中會自帶。安裝好以後直接輸入jupyter notebook便可以在瀏覽器中使用。但是它預設只能在本地訪問,如果想把它安裝在伺服器上,然後在本地遠端訪問,則需要進行如下配置 參考教程 如使用shell6 或者 終端ssh登入 jupyter n...

在遠端伺服器上執行本地的shell指令碼

1 使用ssh實現 ssh user hostname c bin bash test.sh2 使用expect實現 採用的策略就是先在本地通過expect把shell指令碼推送到遠端伺服器上,之後再用expect模擬登入之後,先給遠端的shell指令碼許可權,然後再執行指令碼,最後刪除指令碼就ok...

本地檔案上傳到遠端伺服器

win7下 用putty好像不太行。用securecrt非常方便。步驟如下 2 輸入rz,點enter 3 會彈出對話方塊,選擇要上傳的檔案 4 上傳,會顯示百分比 速率和時間等資訊。前段時間裝了ubuntu,不再使用win7了.所以想起來要更新下這篇文章.ubuntu下,我喜歡用的工具是termi...