Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167866
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 471
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-11 10:24
文章分类

全部博文(51)

文章存档

2018年(3)

2017年(22)

2016年(9)

2015年(17)

我的朋友

分类: 系统运维

2015-05-11 14:40:47

导语:很多时候需要对线上服务器执行批量操作,于是乎就总结了个脚本,哪怕机器规模达到成百上千台,也可以轻而易举的完成需求!~.~

一、脚本执行环境
需要一台打通了线上机器sshkey的中控机(sshkey打通后,可以直接登录,不用再输用户名和密码)。

二、脚本内容
1、批量执行远程命令

#!/bin/sh

hosts=`cat $1`;  #$1为需要操作的线上机器IP列表
CMD=$2;            #$2为需要操作的命令

for i in ${hosts}; do
        echo ${i};
        ssh ${i} "$CMD";
done
2、批量拷贝文件到远程目录
#!/bin/sh
hosts=`cat $1`;
SOURCE=$2;
DEST=$3;

for i in ${hosts}; do
        echo ${i};
        scp  ${SOURCE} ${i}:${DEST};
done

三、脚本执行形式
./r_d.sh $1 $2    #r_d.sh为执行远程命令脚本名称
./r_c.sh $1 $2 $3   #r_d.sh为拷贝文件脚本名称
结语:几条shell命令,轻松搞定批量操作任务。

阅读(3246) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~