コード例 #1
0
ファイル: machine.py プロジェクト: iMorozov/ceasar
    tmp = sys.argv[1:][0].split()
    for p in tmp: # prepare machine list
        if p[0] == '@': # if list
            with open(basepath+p[1:], 'r') as f: flines  = f.read().splitlines()
            machines = machines+flines
        else:
            machines.append(p)
    print 'Job will be executed at:', machines

    for m in machines:
        if validate_regexp(m) == True:
            found_machine = preg_grep('.*'+m+'.*', config)
            if len(found_machine) == 1:
                load_machine(config[found_machine[0]])
                for i in sys.argv[2:]:
                    if validate_regexp(i) == True:
                        found_cmd = preg_grep('.*'+i+'.*', machine['job'])
                        if len(found_cmd) == 1:
                            print found_machine[0]+': job ->', found_cmd[0]
                            print dfl( do(machine['job'][found_cmd[0]]) )
                        else:
                            print found_machine[0]+': job ->', i, '- not found'
                    else:
                       print found_machine[0], '- invalid job'
            else:
                print 'len(found_machine) =', len(found_machine)
        else:
            print m, 'invalid hostname'
else:
    print 'Usage: machine + hostname job1 job2 job3'
コード例 #2
0
ファイル: cisco.py プロジェクト: iMorozov/ceasar
                                print 'not supported but will soon'
                                exit()
                            # check if user password exists in device
                            if not 'user' in device: device['user'] = config['defaults']['user']
                            if not 'password' in device: device['password'] = config['defaults']['password']
                            account = Account(decrypt(device['user'], key), decrypt(device['password'], key))
                            conn = SSH2()
                            conn.connect(device['ip'])
                            conn.login(account)
                            conn.execute('terminal length 0')
                            # CMD PART
                            print found_device[0]+': job ->', found_cmd[0]                            
                            if type(job) in (tuple,list) != -1: # if job = file.job
                                for i in job:
                                    conn.execute(i)
                                    print dfl(conn.response)
                            else:
                                conn.execute(job)
                                print dfl(conn.response)
                            #
                            conn.send('exit\r')
                            conn.close()
                        else:
                            print found_device[0]+': job ->', i, '- not found'
                    else:
                       print found_device[0], '- invalid job'
            else:
                print 'len(found_device) =', len(found_device)
        else:
            print d, 'invalid hostname'
else: