文档章节

Linux批量操作

kenyon_君羊
 kenyon_君羊
发布于 2015/04/24 17:48
字数 297
阅读 112
收藏 1
背景:
需要对几百台服务器进行一个漏洞修复操作,脚本已经准备完成,需要将脚本部署到各个服务器上并远程执行。

思路:
选中某一台服务器当样板机,然后将此机作为模板机,与各个机子做信任关系,并最终ssh远程拷贝相关文件并执行

环境:
OS:CentOS 6.5
模板机:192.168.1.11
--需要两个文件,hosts.cfg是主机列表
[root@dbg1_1 ~]# more hosts.cfg
172.13.129.51
172.13.129.52
172.13.129.53
。。。。。
172.13.129.150
172.13.129.151

--batch_run.sh是拷贝key到各个服务器的脚本,做信任关系
[root@dbg1_1 ~]# more batch_run.sh 
#!/bin/bash
#!/usr/bin/expect

passwd=123456

for ip in $(cat /root/hosts.cfg)
do

#echo $ip / ${pwd}

expect << EOF

spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@$ip


   expect {   

      "*yes/no" {send "yes\r" ;exp_continue}
      "*password:" {send "$passwd\r" ;exp_continue  }        
}   
EOF

done

--这个脚本是拷贝模板机文件到各个服务器上并解压远程执行
[root@dbg1_1 ~]# more batch_run_2.sh 
#!/bin/bash

for ip in $(cat /root/hosts.cfg)

do

scp /root/script.tar.gz root@${ip}:/root
ssh root@${ip} 'tar -zxvf /root/script.tar.gz'
ssh root@${ip} "sh /root/script/server/kenyon.sh ${ip} root test"

done
脚本还是比较简单,只是做信任关系时需要安装expect模块,另外各个服务器要通。

© 著作权归作者所有

共有 人打赏支持
kenyon_君羊
粉丝 499
博文 170
码字总数 121714
作品 0
杭州
其他
私信 提问
linux 下文件名/文件内容编码转换

1、Linux命令行下查看文件的编码 enca 文件名 file 文件名 2、linux文件名编码批量转换 convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 -notest 真正进行操作,请...

大数据之路
2012/10/10
0
0
Linux命令行是什么?Linux云计算运维学习

Linux是—个主要通过命令行来进行管理的操作系统,即通过键盘输入指令来管理系统的相关操作,这和Windows系统使用鼠标命击的可视化管理大不相同。 使用鼠标可视化管理的优势是简单、容易上手...

老男孩Linux培训
2018/06/22
0
0
OVM-V1.3 正式发布,采用全新 UI 界面

OVM是国内首款、完全免费、企业级——混合虚拟化管理平台,从中小企业目前的困境得到启发,完全基于国内企业特点开发,更多的关注国内中小企业用户的产品需求。 伴随着对前版本bug修复和体验...

liang-zi
2016/11/18
5.7K
12
OmniTTY批量ssh登陆操作

OmniTTY批量ssh登陆操作 一、omnitty概述 在生产环境中,可能会有多台linux主机。运维人员可能会对多台主机进行同样的操作,例:同时在多台主机上添加一个user或查看所有主机的硬件信息,如果...

xiaomaimai
2018/06/26
0
0
如何在 Linux 中批量移动、复制、追加和重命名文件

你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录。 但是,mv 命令不支持一次重命名多个文件。 不用担心。 在本教程中,我们将学习使用 Linux 中的 mmv 命令一...

Linux就该这么学
2018/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(四十五)

资源整理。 1 Coding: 1.Python库gempy,一种基于Python的开源三维结构地质建模软件,它允许从界面和方向数据隐式(即自动)创建复杂的地质模型。 它还支持随机建模以解决参数和模型的不确定...

胖胖雕
20分钟前
0
0
golang 声明一个指定长度的数组,用于后续添加

很多时候我们需要声明一个指定长度的数组,用于后续添加.在使用go的时候要注意,下面的第一个例子会有报错 "non-constant array bound",应该使用第二个例子. Length 是动态的值 有报错的例子 ...

漫步海边小路
23分钟前
0
0
Java NIO示例

Server端 /** * 《构建高性能的大型分布式Java应用》 * 书中的示例代码 * 版权所有 2008---2009 */package book.chapter1.tcpnio;import java.net.InetSocketAddress;i...

月下狼
29分钟前
0
0
发布xxl-job executor dotnet core 执行器的实现

DotXxlJob [github][https://github.com/xuanye/DotXxlJob] xxl-job的dotnet core 执行器实现,支持XXL-JOB 2.0+ 1 XXL-JOB概述 [XXL-JOB][1]是一个轻量级分布式任务调度平台,其核心设计目标...

假正经哥哥
今天
4
0
mysql 查询当天、本周,本月,上一个月的数据

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 近7天 SELECT * FROM 表名 wher......

BraveLN
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部