【临实战】CentOS 批量配置

我们来批量配置 6 台 influxdb 实例
  1. 安装 Influxdb 实例
  2. 配置
  3. 启动 Influxdb 实例并加入开机启动
  4. 创建 database
我们不使用 SaltStack,Ansible 等工具,只使用 shell 和 pssh
yum install pssh复制代码

批量拷贝 Influxdb 安装包

官网地址 · 目标机器是 CentOS 所以我下载的是:influxdb-1.3.7.x86_64.rpm
我们先把这个文件上传到 6 台机器:
#!/bin/bash

if [[ $# != 2 ]]; then
        echo usage $0 iplist file
        exit 1
fi

for ip in `cat $1`
do
        scp $2 root@$ip:~
done复制代码
这个脚本很好理解,接受两个个参数,分别是 $1 $2($0 是脚本自己的名字:serial_scp.sh)
第一个参数 iplist 是一个文件,保存有目标机器 IP 列表,每行一个
➜ cat iplist
172.21.x.x
172.22.x.x
172.23.x.x
172.24.x.x
172.25.x.x
172.26.x.x复制代码
第二个参数是要传输的文件相对本脚本的路径或者绝对路径,我们使用相对路径
所以我们最终的批量上传命名如下:
sh serial_scp.sh iplist influxdb-1.3.7.x86_64.rpm复制代码
这样 6 台机器的 ~ 目录,就有一个 influxdb-1.3.7.x86_64.rpm 文件静静的待在那里了

批量安装 Influxdb

安装命令是:
yum localinstall -y influxdb-1.3.7.x86_64.rpm复制代码
如何批量安装呢,这里就用到了 pssh 命令
pssh -i -l root -h iplist "yum localinstall -y influxdb-1.3.7.x86_64.rpm"复制代码
  • -i 的意思是返回命令执行的标准输出,不加的话只显示成功或者失败
  • -l 后面接一个参数,意思是批量执行命令时使用的用户
  • -h 后面接一个文件,意思是批量执行的目标 ip
  • 最后引号里面的便是要执行的命令了
很简单吧,至此关于批量操作的内容就结束了,后面放几个命令,Influxdb 配置相关的

备份配置:
pssh -l root -h iplist \
"cp /etc/influxdb/influxdb.conf /etc/influxdb/influxdb.conf.old"复制代码
注意『 \ 』的作用
新配置:
把默认的配置文件 scp 到本地,在本地编辑配置文件,改造一下上面的 serial_scp.sh 脚本即可
权限问题:
pssh -i -l root -h iplist "chown -R influxdb:influxdb /data/lib"复制代码
启动:
pssh -i -l root -h iplist "service influxdb start"复制代码
开机启动:
pssh -i -l root -h influxdb "systemctl enable influxdb"复制代码
创建一个数据库:
pssh -i -l root -h iplist "influx -execute 'create database node'"复制代码
都大同小异
需要注意的是 pssh 不支持交互式的操作,不过没关系
yum install somepackage复制代码
在搜索到软件包还会交互式的问你要不要安装,加 -y 即可忽略这个询问,这个上面用到了
python -c "print('Hello world!')"复制代码
它也不会使你进入交互
influx -execute 'create database ulb'复制代码

全文完,求关注


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值