情景:區域網內一台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...