达梦8里面,请问如何使用shell调用dmmonitor里面的命令,比如我使用dmmonitor先执行登录操作,再执行swtchover功能。 谢谢!
可以用expect进行交互,参考如下:
#!/bin/bash INSTALL_PATH=/dm8 #端口号 PORT_NUM=5236 #SYSDBA密码 PWD=XXXX NMON_CONF=${INSTALL_PATH}/bin/dmmonitor.ini /usr/bin/expect << EOF set timeout 180 spawn ${INSTALL_PATH}/bin/dmmonitor ${NMON_CONF} expect "monitor" send "login\r" expect "username:" send "SYSDBA\r" expect "password:" send "${PWD}\r" expect "Login dmmonitor success!" send "show global info\r" expect "DATABASE GLOBAL INFO:" send "choose switchover GRP1\r" expect "1:" send "switchover\r" expect "RECOVERY-->OPEN" send "show global info\r" expect "DATABASE GLOBAL INFO:" send "exit\r" expect eof EOF
可以用expect进行交互,参考如下: