shell嵌套expect执行screen命令

start.sh

#!/usr/bin/env bash
screen_name1=$"online"
screen -dmS $screen_name1
cmd1=$"php pushOnlineNum.php";
screen -x -S $screen_name1 -p 0 -X stuff "$cmd1" #创建screen
screen -x -S $screen_name1 -p 0 -X stuff $'\n' #回车
/usr/bin/expect <<EOF #嵌套expect
send "\01" #模拟输入 ctrl-a
send "d" #模拟输入d  ctrl-a+d是挂起screen
expect eof
EOF
screen_name2=$"sougou"
screen -dmS $screen_name2
cmd2=$"php sougou.php";
screen -x -S $screen_name2 -p 0 -X stuff "$cmd2"
screen -x -S $screen_name2 -p 0 -X stuff $'\n'
/usr/bin/expect <<EOF
send "\01"
send "d"
expect eof
EOF
screen_name3=$"uc"
screen -dmS $screen_name3
cmd3=$"php uc.php";
screen -x -S $screen_name3 -p 0 -X stuff "$cmd3"
screen -x -S $screen_name3 -p 0 -X stuff $'\n'
/usr/bin/expect <<EOF
send "\01"
send "d"
expect eof
EOF
screen_name4=$"dange"
screen -dmS $screen_name4
cmd4=$"php dange.php";
screen -x -S $screen_name4 -p 0 -X stuff "$cmd4"
screen -x -S $screen_name4 -p 0 -X stuff $'\n'
/usr/bin/expect <<EOF
send "\01"
send "d"
expect eof
EOF

stop.sh

#!/usr/bin/env bash
screen_name1=$"online"
screen -X -S $screen_name1 quit #退出screen

screen_name2=$"sougou"
screen -X -S $screen_name2 quit

screen_name3=$"uc"
screen -X -S $screen_name3 quit

screen_name4=$"dange"
screen -X -S $screen_name4 quit

使用crontab定时执行这两个脚本

crontab  -e

0 10 * * * /root/cddh/start.sh #每天早晨10点
30 23 * * * /root/cddh/stop.sh #每天晚上23.30

猜你喜欢

转载自blog.csdn.net/xbw12138/article/details/79271575