CentOS使用expect批量远程执行脚本和命令_Linux

来源:脚本之家  责任编辑:小易  

1、首先,同时按CTRL+ALT+T键,打开终端。2、deepin linux使用的是lightdm启动器,它是默认开机启动的。3、通过执行如下命令将其禁止开机自启动即可,sudo systemctl disable lightdm。4、再查看开机启动状态已经关掉了。5、这时候使用sudo shutdown-r now重启一下电脑。6、再次开机如下图所示就进入命令行模式了www.zgxue.com防采集请勿采集本网。

我们有时可能会批量去操作服务器,比如批量在服务器上上传某个文件,安装软件,执行某个命令和脚本,重启服务,重启服务器等,如果人工去一台台操作的话会特别繁琐,并浪费人力。

然而CentOS实际上是比较稳定的,也不会出什么事,所以目前国内绝大部分互联网公司都使用CentOS系统,但也有使用Ubuntu的,国外用Ubuntu的更多,全世界用Ubuntu做服务器的比用CentOS的多,但在中国用Ubuntu

这时我们可以使用expect,向目标服务器上发送指令去实现批量操作。

1 – 首先安装 JAVA yum install java 2 – 检查 java 是否已经安装 java-version java version\"1.7.0_51 OpenJDK Runtime Environment(rhel-2.4.5.5.el7-x86_64 u51-b31) OpenJDK 64-Bit Server

下面的例子将在centos上将一个文件,批量拷贝到其他服务商上,并执行相应的命令

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里,需要配置好yum源,如下图 安装docker命令如下:yum-y install docker,如图:安装完成后,使用下面的命令来启动 docker 服务 如图示:

1. 在centos上安装expect

首先,对于初学者或者打算学习Linux的童鞋,当然选择最新版本来上手最好。这点是毫无疑问的,不选择最新的,难不成还要选个淘汰的?但是,对于工作上、对于企业上,却又不是那么一回事了。可以说

yum install expect

出现这种情况,先wget 一个网址看看通不通。再就是问题不一定是这台计算机的问题。有可能存在网络病毒。你在这台centos计算机上是找不到答案的。建议你查看一下防火墙或者路由器日志或者会有收获

2. 编写expect脚本 copyfilebatch.sh

下面的脚本将向内网IP为 192.168.0.102 至 192.168.0.112 的服务器分别拷贝一个rc.local文件,拷贝成功后,执行chmod命令,分别重启服务器

#!/usr/bin/expect -fset password rootpasswordfor {set i 102} {$i <= 112} {incr i} { set ip "192.168.0.$i" puts "$ip" spawn ssh -o StrictHostKeyChecking=no $ip set timeout 3 expect "root@$ip's password:" set timeout 3 send "$password\r" set timeout 3 send "exit\r" spawn scp /home/install/rc.local root@$ip:/etc/rc.d/rc.local set timeout 3 expect "root@$ip's password:" set timeout 3 send "$password\r" set timeout 3 send "exit\r" spawn ssh root@$ip expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } expect "#*" #要执行的命令 send "chmod +x /etc/rc.d/rc.local\r" send "reboot\r" send "exit\r" expect eof}

你这种需2113求最好使用一些现成的软5261件,比如heartbeat,来检测服务器心跳4102就可以了脚本写也可以,但1653是肯定没有软件好while [ 1 ]do result=$(ping -c 3 192.168.1.100|grep "0 received") if [ -z "$result" ]; then echo 0 else echo 1 fi sleep 60done内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • centos7运行.sh脚本提示syntax error: unexpected end of file的解决方法
  • centos6中使用crontab定时运行执行jar程序的脚本
  • centos6.5配置ssh免秘钥登陆执行pssh命令的讲解
  • centos7如何执行php定时任务详解
  • centos 7下利用crontab定时执行任务详解
  • 解决centos7 开机/etc/rc.local 不执行的问题
  • centos 设置定时任务执行指定脚本的方法
  • linux下日志按日分割的shell
  • linux下ip设置脚本的实例及遇到问题解决办法
  • 在centos7系统上编译安装mysql 5.7.13步骤详解
  • git bash配置ssh 登录 linux的方法
  • vim中宏命令的使用实例详解
  • linux采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器的方法
  • linux系统中ssh服务基于key认证实践的过程
  • linux centos7搭建vsftpd服务
  • linux文件及用户管理的实例练习
  • linux 编译安装python3.6的教程详解
  • centos ping 批处理
  • centos进入命令行模式怎么使用
  • 如何用命令查看centos系统是否联网
  • CentOS如何分区 CentOS分区方案
  • redhat跟centOS的区别?
  • centos eclipse 锤子工具怎么使用
  • 如何Prometheus在CentOS 7使用Docker安装
  • 为什么运维大爷们反对使用 CentOS 7
  • 关于centos与ssh问题
  • centos使用什么命令创建的站点就可以打开
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器centos7运行.sh脚本提示syntax error: unexpected end of file的解决方法centos6中使用crontab定时运行执行jar程序的脚本centos6.5配置ssh免秘钥登陆执行pssh命令的讲解centos7如何执行php定时任务详解centos 7下利用crontab定时执行任务详解解决centos7 开机/etc/rc.local 不执行的问题centos 设置定时任务执行指定脚本的方法linux下日志按日分割的shelllinux下ip设置脚本的实例及遇到问题解决办法在centos7系统上编译安装mysql 5.7.13步骤详解git bash配置ssh 登录 linux的方法vim中宏命令的使用实例详解linux采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器的方法linux系统中ssh服务基于key认证实践的过程linux centos7搭建vsftpd服务linux文件及用户管理的实例练习linux 编译安装python3.6的教程详解apache开启.htaccess及.htaccessservice temporarily unavailabllinux下实现免密码登录(超详细)apache rewrite url重定向功能的linux下用cron定时执行任务的方法apache性能测试工具ab使用详解centos 6.4安装配置lamp服务器(a阿里云服务器ping不通解决办法(centos+nginx+php+mysql详细配置apache you don""t have permisslinux定时备份数据库到指定邮箱的方法sersync2 完全安装配置说明(三) 插件基详解基于linux的lvm无缝磁盘水平扩容linux下python脚本自启动与定时任务详解win8下xampp中apache模块无效(apache无法shell 数组与关联数组详解及实例代码php程序员玩转linux系列 centos安装使用教linux 下软件包的安装与使用详解centos7安装nginx的两种方法介绍查看远程 linux 系统中某个端口是否开启的
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved