linux远程出触发windows目录下的批处理

背景需求:有一台linux编译服务器,需要在编译完成后自动将该文件部署到远程window的tomcat下并重启该服务器!!!

解决方案:telnet+pscp

解决过程:首先linux编译机器想要触发window的批处理,在这里选择使用window的telnet服务

linux下的脚本如下:stop_9095.py(停止服务并触发远程脚本del_ROOT_9095.bat)

#!/usr/bin/env python  
def auto_telnet(ip, username, password, finish):  
    import telnetlib
    # 连接Telnet服务器  
    tn = telnetlib.Telnet(Host, port=23)  
    tn.set_debuglevel(1) 
    #输入用户名
    tn.read_until('login: ')
    tn.write(username + '\r\n')
    #输入密码
    tn.read_until('password: ') 
    tn.write(password + '\r\n')  
    #登录执行命令
    tn.read_until(finish)
    tn.write('net stop tomcat9095\r\n')
    tn.read_until(finish)
    tn.write('pushd E:\Java\deploy\r\n')
    tn.read_until(finish)
    tn.write('del_ROOT_9095.bat\r\n')
    tn.read_until('finished copy')
    tn.write('net start tomcat9095\r\n')
    tn.read_until(finish)
    time.sleep(1) 
    tn.close()  
if __name__=='__main__':  
    ip = '192.168.1.30' 
    username = 'administrator'  
    password = '123456'  
    finish = '>'
    auto_telnet(ip, username, password, finish)

远程服务器下批处理:del_ROOT_9095.bat (删除原有文件夹远程上传文件)

@echo off
set tomcat_dir=%cd%\..\cluster\tomcat_9095\bin
pushd %tomcat_dir%\..\webapps
if exist eye (
   call rmdir /s /q eye/*
)
pscp -l root -pw 123456 -r [email protected]:/home/deploy/tomcat9095/code/eye/* E:\Java\cluster\tomcat_9095\webapps\eye\
echo "finished copy"
pause



你可能感兴趣的:(配置管理,python)