当前位置:首页 > 技术文章 > 正文内容

Linux下免交互模式的远程管理实现

douba32个月前 (07-14)技术文章24

通过linux脚本及expect可以不交互进行linux服务器的批量管理。

一、远程传输文件

cat send_file.sh

#!/usr/local/bin/expect -f

## 输入两个参数

set file [lindex $argv 0 ]

set ip [lindex $argv 1 ]

##设置密码

set password yyyyyy

##设置超时时间

set timeout 10

##执行文件传输命令

spawn scp $file root@$ip

##可能遇到两种情况需要进行交互

expect {

"*yes/no" { send "yes\r"; exp_continue }

"password:" { send "$password\r" }

}

##结束交互

expect eof

命令运行示例:./send_file.sh filename.tar 10.100.100.100:/root

二、远程操作linux命令

cat os_cmd.sh

#!/usr/local/bin/expect -f

set ip [lindex $argv 0 ]

set password yyyyyy

set timeout 10

##执行ssh远程操作命令

spawn ssh root@$ip

expect {

"*yes/no" { send "yes\r"; exp_continue }

"password:" { send "$password\r" }

}

expect "#*"

## 执行远程linux上命令

send "cd /xxxx/scripts/\r"

send "\\cp /root/filename.tar ./\r"

send "tar xvf filename.tar\r"

send "exit\r"

expect eof

命令运行示例:./os_cmd.sh 10.100.100.100

附:ssh可以通过如下一条命令直接进行操作,如 ssh 10.100.100.100 'cd /xxxx/scripts;cp /root/filename.tar ./;tar xvf filename.tar'

相关文章

Linux scp远程复制命令使用整理(linux远程copy)

快捷复制首先,别那么多废话,快告诉我怎么用,让我直接复制!OK,安排!复制本地文件/目录 ==> 远程机器scp /opt/soft/test.tar.gz root@192.168.1.102...

Linux 防火墙怎么开?3 分钟学会放行 80 端口,再也不怕远程连接被拒

刚部署完网站却打不开?远程连接突然被拒?90% 的原因是防火墙把端口 “封锁” 了!别慌!今天教你用最简单的命令,3 分钟搞定 Linux 防火墙端口放行,新手也能秒变 “防火墙管理高手”!一、为什么...

Linux:文本查找指令讲解及实例(linux中在文件中查找文本的命令)

工欲善其事,必先利其器。本次主要讲解是Linux系统中的文件查找指令,Linux文件查找,是在文件系统上查找符合条件的过程,文件查找有两个:locate指令以及find指令:Locate:非实时查找工...

Linux常用查找文件方法总结(linux查找文件命令有哪些)

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;检索范围:PATH环境变量里面...

linux的6种查找文件的方法(linux 文件 查找)

学习linux,查找文件也算是一个痛点,尤其是在系统没有开启图形化。Linux作为一个成熟的系统,也提供了多种命令行工具和图形界面工具来帮助我们进行文件搜索和查找。下面是一些常见的查找文件的方法:fi...

如何查看linux后台运行的进程?如何查看后台运行进程的状态?

linux系统中挂在后台的进程,如何能够被运维人员知道呢?以及挂在后台的进程当前状态是怎样的?是否可以继续执行?如何杀死一个在后台挂起的进程?后台进程可以通过‘&’符号或nohup命令,让程序进入...