return True except: return False def get_all_client_ip(path): all_items=os.listdir(path) ips=[] for item in all_items: if os.path.isdir(os.path.join(path,item)) and valid_ip(item): ips.append(item) return ips ''' def select(ips): rand_number=random.randint(0,len(ips)-1) return ips[rand_number] if __name__=='__main__' : ips=[] path='./client/' if len(sys.argv)==2: path=sys.argv[1] ips=hosts.get_all_clients_ip(rrds_path=path) elif len(sys.argv)==1: ips=hosts.get_all_clients_ip() else: print ips if len(ips)!=0: selected=select(ips) print selected
if __name__=='__main__': print '###########################3' print sys.argv print "#############################" if len(sys.argv)!=5: print '''error happens, you have not input enough arguments for example: python apply.py username password dbname database_type ''' #else: # client_ip=sys.argv[3:] #path='rrds/' #client_ip=get_all_client_ip(path) else: # clients_ip=['192.168.16.106'] clients_ip=hosts.get_all_clients_ip('/etc/hosts','/var/lib/ganglia/rrds/client/') #database='db' print sys.argv[4] if sys.argv[4]=='mongodb': my=ApplyMongodb(clients_ip, sys.argv[1], sys.argv[2], sys.argv[3]) #print clients_ip else: my=ApplyMysql(clients_ip, sys.argv[1], sys.argv[2], sys.argv[3]) if my.check(): my.choose()
pid = pid.split('\n')[0] killUnfsdCmd = "kill %d"%(int(pid)) self.executeRemoteCmd(killUnfsdCmd) rmHomeDirCmd = "rm -rf %s"%(self.nfsDir) self.executeRemoteCmd(rmHomeDirCmd) rmExportsCmd = "rm -f %s"%(self.exportsDir+self.exportsName) self.executeRemoteCmd(rmExportsCmd) if __name__ == '__main__': print "python getNAS.py userName password homeDir nasType" redisIP = "192.168.12.100" redisPort = 6379 hIP = suyiselect.select(hosts.get_all_clients_ip()) print hIP # sys.exit(0) hostIP = "192.168.16.102" userName = sys.argv[1] password = sys.argv[2] if len(sys.argv) == 4: nasType = sys.argv[3] else: homeDir = sys.argv[3] nasType = sys.argv[4] if nasType == 'nfs': nfsS = NASService(hostIP,userName, password, homeDir, redisIP, redisPort) nfsS.exportNFS() nfsS.printMountCmd() else: