python的簡潔是shell無法代替的


之前線上服務器分發配置都是用shell和expect腳本分發,腳本寫了很長,上周換了ansible,現在自己用python寫一個,就30行代碼就可以實現需求,之前的shell寫了快200行了,蛋疼,代碼如下:

from multiprocessing import Process
import paramiko
import sys
file = sys.argv[1]
Username = "root"
Password = "123456"
Dest_Path = [

    "/data/x5online/%s" %file,
    "/tmp/%s" %file

]
Port = 22
def sftpPut(ip):
    try:
        s = paramiko.Transport((ip,Port))
        s.connect(username=Username,password=Password)
        sftp = paramiko.SFTPClient.from_transport(s)
        localFile = file
        for remoteFile in Dest_Path:

            sftp.put(localFile,remoteFile)
        print("%s put successful." %ip)
    except:
        print("%s not exits."%ip)
def ipProcess():
    for i in range(10,40):
        ip = '192.168.170.%s'%i
        p = Process(target=sftpPut,args=(ip,))
        p.start()
if __name__ == '__main__':
    ipProcess()                                                                                                                                                                                                                                                                                                                                                                                                   

雞湯一回,對python感興趣了,學的才快。


免責聲明!

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



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