有时候需要登录服务器做一些操作,或者想不登录服务器也可以实现文件同步,基于expect写了简单的脚本:
脚本
- 分发登录到那台服务器的
#!/bin/bash
case $1 in
"ecs" )
expect -f /inecs
;;
"local" )
expect -f /inlocal
;;
esac
- 自动登录到服务器上,并且切换到某个目录下
#/usr/bin/expect
spawn ssh root@xxx.xxx.xxx.xxx
expect {
"*yes/no*" { sned "yes\r"}
"*password:" { send "密码\r" }
}
expect "*#"
send { cd /usr/local/openresty/nginx/ }
send -- "\n"
interact
同步文件使用rsync和上面的登录比较像,就不重复了
最后
分享下脚本
网友评论