欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

expect自动检测并重启另外一台服务器上的程序代码

程序员文章站 2023-11-15 15:20:46
[s005 you] # cat haproxy_expect复制代码 代码如下:#!/usr/bin/expectset ssh_user "fivetrees"set...

[s005 you] # cat haproxy_expect

复制代码 代码如下:

#!/usr/bin/expect
set ssh_user "fivetrees"
set password "123456"
spawn ssh -i /root/.ssh/$ssh_user server004.xd.com
expect_before "no)?" {
send "yes\r" }
sleep 0.5
expect "enter passphrase for key*"
send "$password\r"
expect "*#"
send "/tmp/haproxy.sh\r"
expect "*#"
send "echo\r"
exit

[s004 him] # cat haproxy.sh

复制代码 代码如下:

#!/bin/bash
thread=`ps -ef | grep haproxy | grep -v haproxy.sh | grep -v grep`
if [ -z "$thread" ]
then
        /tmp/haproxy_expect
fi

[s004 him] # cat haproxy_expect

复制代码 代码如下:

#!/usr/bin/expect
set ssh_user "fivetrees"
set password "123456"
spawn ssh -i /root/.ssh/$ssh_user server005.xd.com
expect_before "no)?" {
send "yes\r" }
sleep 0.5
expect "enter passphrase for key*"
send "$password\r"
expect "*#"
send "/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg\r"
expect "*#"
send "echo\r"
exit