예제 #1
0
def ansilbe():
    if "username" not in session:
        return redirect("/login/")
    if request.method == "GET":
        server = list("server", server_fields)
        return render_template('ansible.html', server=server['msg'])

    if request.method == "POST":
        cmdmsg = {k: v[0] for k, v in dict(request.args).items()}
        #记录日志写入文件
        cmd_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        cmd_history = "Time:%s User:%s Host:%s Cmd :%s \n" % (
            cmd_time, session["username"], cmdmsg['pattern'], cmdmsg['cmd'])
        with open("/tmp/ansible.log", 'a') as ansible_log:
            ansible_log.write(cmd_history)
            ansible_log.close

        ansiblecmd = ansiblecommand(cmdmsg["cmd"], cmdmsg["pattern"])
        pattern = cmdmsg["pattern"]
        result = ansiblecmd["contacted"][pattern]["stdout"]
        if result:
            ansible_cmd = "host: %s | CMD: %s | success>> \n" % (
                cmdmsg["pattern"], cmdmsg["cmd"])
            ansible_msg = ansible_cmd + result
            results = ansible_msg.replace("\n,<br>")
            return json.dumps(results)
예제 #2
0
def ansible():
    if 'username' not in session:
        return redirect('/login/')
    msg = sessionmsg()
    if request.method == 'GET':
        server = lists('server', server_fields)
        return render_template('ansible.html', msg=msg, server=server['msg'])

    if request.method == 'POST':
        cmdmsg = {k: v[0] for k, v in dict(request.args).items()}
        #记录日志写入文件
        cmd_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        cmd_history = "Time: %s User: %s Host: %s Cmd: %s \n" % (
            cmd_time, msg['username'], cmdmsg['pattern'], cmdmsg['cmd'])
        with open("/tmp/ansible.log", 'a') as ansible_log:
            ansible_log.write(cmd_history)
            ansible_log.close

        ansiblecmd = ansiblecommand(cmdmsg['cmd'], cmdmsg['pattern'])
        pattern = cmdmsg['pattern']
        result = ansiblecmd['contacted'][pattern]['stdout']
        if result:
            ansible_cmd = "host: %s | CMD:  %s | success >> \n" % (
                cmdmsg['pattern'], cmdmsg['cmd'])
            ansible_msg = ansible_cmd + result
            results = ansible_msg.replace('\n', '<br>')
            return json.dumps(results)
예제 #3
0
def ansible():
        if 'username' not in  session:
            return redirect('/login/')
        msg = sessionmsg()
        if request.method=='GET':
            server  = list('server',server_fields)            
            return render_template('ansible.html',msg=msg,server=server['msg'])

        if request.method=='POST':
            cmdmsg  = {k:v[0] for k,v in dict(request.args).items()}
            ansiblecmd = ansiblecommand(cmdmsg['cmd'],cmdmsg['pattern']) 
            pattern = cmdmsg['pattern']
            result = ansiblecmd['contacted'][pattern]['stdout']
            num = []  
            results = result.split('\n')
            for  i in range(len(results)):
                 num.append(i)
            print num
            print results
            dict_result = dict(zip(num,results))
            return json.dumps(dict_result)
예제 #4
0
def ansible():
    if not session:
        return redirect("/login/")
    if request.method=="GET":
        server=list("server",server_fields)
        return render_template("ansible.html",server=server["msg"])

    if request.method=="POST":
        cmdmsg={k:v[0] for k,v in dict(request.form).items()}
        cmd_time=datetime.now().strftime("Y-%m-%d %H:%M:%S")
        cmd_history="Time:%s  User:%s Host:%s Cmd:%s /n" %(cmd_time,session["username"],cmdmsg['pattern'],cmdmsg['cmd'])
        with open("C://Users//xxx//PycharmProjects//honework10//ansible.log",'a') as ansible_log:
            ansible_log.write(cmd_history)
            ansible_log.close

        ansiblecmd=ansiblecommand(cmdmsg["msg"],cmdmsg["pattern"])
        pattern=cmdmsg["pattern"]
        result=ansiblecmd["contacter"][pattern]["stdout"]
        if result:
            ansible_cmd="host:%s | CMD :%s | success>>  \n" %(cmdmsg["pattern"],cmdmsg["cmd"])
            anssble_msg=ansible_cmd+result
            result=anssble_msg.replace('\n','<br>')
            return json.dumps(result)