#!/usr/bin/env python #-*-coding:UTF-8-*- """ @Item : v1.0 @Author : ShengWangQiang @Group : System @Date : 2015-01-28 @E-mail : [email protected] @Funtion: """ import sys,time,os,traceback,commands, import paramiko, class Remote(object): def __init__(self): version = ‘v0.1‘ self.users = ‘root‘ self.passwd = "1234567890" self.port = 22 def log(self,info): files = open(‘/tmp/deploy.log‘,‘a‘) try: files.write(‘[%s]: %s \n‘ %(time.ctime(),info)) except IOError: files.close() files.close() def cmds(self,host,comm): try: print comm client = paramiko.Transport((host,int(self.port))) client.connect(username=self.users,password=self.passwd) chan = client.open_session() chan.exec_command(comm) chan.close() except: print ‘host‘, host print traceback.format_exc() self.log(traceback.format_exc()) def sftps(self,host,files): try: lodir = ‘/opt/onfile‘ rmdir = ‘/opt/onfile‘ client = paramiko.Transport((host,int(self.port))) client.connect(username=self.users,password=self.passwd) sftp = paramiko.SFTPClient.from_transport(client) sftp.put(‘%s/%s‘%(lodir,files),‘%s/%s‘%(rmdir,files)) client.close() except: print traceback.format_exc() self.log(traceback.format_exc()) def work(self,comm): fp = open(‘/opt/online/ser_list.txt‘).readlines() for s in fp: host = s.strip() self.cmds(host,comm) def sftp(self,comm): fp = open(‘/opt/online/ser_list.txt‘).readlines() for s in fp: host = s.strip() self.sftps(host,files) if __name__ == ‘__main__‘: sc = Remote() func = sys.argv[1] files = sys.argv[2] if func == ‘sftp‘: sc.sftp(files) elif func == ‘work‘: sc.work(files)
时间: 2024-10-16 02:13:02