用python實現文件自動上傳


一.簡介

    用python實現文件自動上傳,主要源於在測試項目中想實現自動化上傳文件功能,無須手工輸入。比如從windows到Linux,或從Linux到windows,或從Linux到Linux。

   主要實現方法是封裝命令,但其中也收獲了很多技巧,故記錄下來,方便后續查閱。

二.內容

    1.windows<->Linux  

          從windows 到Linux之間的傳輸比較簡單,主要是用python實現對pscp 命令的封裝。

          可參考http://www.jb51.net/article/113165.htm

     2.Linux<->Linux

            a. linux服務器之間傳輸文件的幾種方式   

             共四種scp、rcp、wget、rsync(http://blog.csdn.net/zhiyuan411/article/details/8166409)

            rsync功能強大,操作類似scp,支持排除目錄,支持限速參數;還支持本地復制。故最終選擇用python對rsync命令進行封裝。

            b.rsync 免密碼登錄

             rsync是遠程文件同步協議,在linux系統下,操作服務器之間的文件同步,是非常方便高效的。

             但是,簡單的rsync操作,往往需要和用戶交互,需要用戶輸入密碼,這個對於結合應用系統使用,比如Java調用linux指令實現同步的話,就不是很方便。

            免密碼方法一:

            免密碼操作的一種方式是rsync+ssh,利用ssh的安全校驗機制來傳輸文件,然后將ssh設置為免密碼登錄。

            要實現rsync的無密碼傳輸,基本思路是用一對公私鑰來代替帳戶密碼,實現ssh連接時的認證

            配置:http://blog.csdn.net/fuguoq1984/article/details/32331941

            免密碼方法二:

            在python中使用pexpect自動輸入密碼,https://www.cnblogs.com/MikeZhang/p/rsyncExample_20160818.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM