shell脚本实现批量查看当前服务器集群的基本信息
#分发秘钥脚本一:
#!/bin/bash
for ip in `cat /opt/server/ip.txt`
do
sshpass -p'密码' ssh-copy-id -i /root/.ssh/id_dsa.pub $ip -o StrictHostKeyChecking=no 1>/dev/null 2>/var/log/ssh.log
if [ $? -eq 0 ]
then
echo "主机 $ip 分发秘钥成功"
else
echo "主机 $ip 分发秘钥失败"
fi
done
在/etc/ansible/hosts中最后一行添加主机ip
[node]
192.168.xx.xxx
192.168.xx.xxx
ansible all --list #查看被控节点的主机
vim /etc/ansible/mount.yml
- hosts: node
user: 用户名
tasks:
- name: 复制脚本到被控节点
copy: src=/opt/脚本.sh dest=/root
- name: 执行脚本
shell: bash /root/脚本.sh
ansible-playbook mount.yml --check #语法没有问题的话直接运行
ansible-playbook mount.yml
#!/bin/bash
for ip in `cat /opt/server/ip.txt`
do
#内存使用情况
a=`ssh root@$ip free -h|awk 'NR==2 {print $2}'`
b=`ssh root@$ip free -h|awk 'NR==2 {print $3}'`
c=`ssh root@$ip free -h|awk 'NR==2 {print $4}'`
#交换分区使用情况
a1=`ssh root@$ip free -h|grep Swap|awk '{print $2}'`
b1=`ssh root@$ip free -h|grep Swap|awk '{print $3}'`
c1=`ssh root@$ip free -h|grep Swap|awk '{print $4}'`
#硬盘使用情况
d=`ssh root@$ip df -h / |awk 'NR==2{print $2}'`
e=`ssh root@$ip df -h / |awk 'NR==2{print $4}'`
#CPU使用情况
cpu_a=`ssh root@$ip cat /proc/cpuinfo|awk -F: 'NR==5 {print $2}'`
cpu_b=`ssh root@$ip "grep -c 'model name' /proc/cpuinfo"`
cpu_c=`ssh root@$ip top -b -n 1 | grep Cpu|awk -F"," '{print $4}'|cut -f 1 -d "."`
cpu_d=`ssh root@$ip uptime |awk -F"," '{print $3,$4,$5,$6}'`
to=`date -d "0 day" +%Y年%m月%d日`
hostname=`ssh root@$ip hostname`
ping -c2 $ip >/dev/null 2>&1
if [ $? -eq 0 ]
then
echo -e "\033[32m############### 主机$ip使用情况 ###############\033[0m"
echo "主机名称:$hostname"
echo "当前时间:$to"
echo "主机可以ping通"
echo "主机IP:$ip"
echo "内存使用情况:"
echo "总内存:$a 使用内存:$b 剩余内存:$c"
echo "交换分区使用情况:"
echo "总内存:$a1 使用内存:$b1 剩余内存:$c1"
echo "系统盘总容量:$d 系统盘剩余容量:$e"
echo "CPU型号名称:$cpu_a"
echo "CPU总核心数:$cpu_b"
echo "CPU空闲比为:$cpu_c%"
echo "CPU负载情况:$cpu_d"
echo -e "\033[32m#####################################################\033[0m"
else
echo "主机 $ip ping不通"
fi
done
此脚本需要先到管理机的/opt/server/ip.txt文件中写入要批量查看的服务器ip地址
再使用循环语句批量分发密钥再进行查看服务器当前的使用情况
工具类方便操作对象,数组等的工具库underscore.jslo-dash与underscore.js的api基本一致。与underscore比其优势是,效率高;可自定义构建Sugar在原生对象上增加一些工具方法functional.js提够了一些Curry的支持Watch.js监视对象或属性的变化bacon.js函数式编程,coolstreamjs用流的方式来对数组,对象进行系列操作异步流程控制发布订阅eventproxy朴灵出品Arbiter.js代码库
Uri的字符串是encode过的,直接用new File(uri.toString())肯定是个不存在的文件,用new File(uri.getPath())可以获取正确的目录在vivo手机上就出问题了,uri.getPath()返回null,导致new File空指针崩溃了,vivo上uri.toString()返回的就是其他手机上uri.getPath()也就是uri.getPath(
由WRECIOAlliance与Trueadvisor联合主办的“WRE制造业CIO峰会2017”在2017年6月22日-23日在上海锦江汤臣洲际大酒店成功举办,作为WRE首席信息官系列峰会之一的制造业CIO峰会将汇集超过250+世界领先制造业的公司CIO, CTO和IT高管,其中包括全球顶尖IT研究咨询机构:Gartner/IDC/BCG等、全球...
基于主键的一对一小实例Person.javaprivate int id; private String name; private IdCard idCard; public IdCard getIdCard() { return idCard; } public void setIdCard(IdCard i
一、什么是Docker 仓库?仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 DockerHub,存放了数量庞大的镜像供用户下载。 国内的公开仓...
案例:最近遇到一个业务需求, 需要查找满足条件且连续3出现条以上的记录。表结构:CREATE TABLE `cdb_labels` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `type` int(11) NOT NULL DEFAULT '0' COMMENT '标签类型:1喜欢异性类型,2擅长话题', `content...
30分钟教你搭建一个网站,全章分四节。上一节已经用wdcp搭建了环境,有了可视化的服务器管理后台,今天以WordPress为例创建网站应用,之前是搭基础配置,今天正式进入正文,教你真正用30分钟搭建网站。一、购买和配置服务器二、购买和配置域名三、在服务器上用wdcp搭建环境四、以WordPress为例创建网站下载开源应用WordPresswordpress的中文官网是cn.wordpress.or...
之前是直接用Excel处理数据,后来觉得实在是繁琐,尤其在数据量过大的情况下,特此去学了用python处理数据。学完之后不禁感叹pandas的强大。Excel和CSV的处理方式大致相同,以下用csv举例。均为一些基础操作。1.读取表格import pandas as pdnew_data=pd.read_csv('/Users/ymhzb1994/Desktop/movie/...
前言完成SSM框架思维导图总结后,继续学习SpringBoot。参考Bilibili的SpringBoot课程,汇总成思维导图,学习记录分享。涉及知识点SpringBoot概述 微服务架构概述 自动装配(含源码) yaml编写及配置 集成web开发 集成数据库 SpringSecurity概述……建议深入了解自动装配的原理,在源码中反复跳转。自动装配了解后,才能理解yaml配置的过程,主动在源码中寻找到可以配置的属性。集成web开发过程是业务开发的核心,如果你使
虚拟主机云虚拟主机设置linux .htaccess限制IP访问的方法 http://bbs.aliyun.com/read/251175.html 云虚拟主机phpcms系统邮件功能设置实例 http://bbs.aliyun.com/read/251173.html 云虚拟主机discuz系统邮件功能设置实例 http://bbs.aliyun.com/read/251172.html 云虚拟...
1.传统的JDBC实现 首先我们先看下传统的JDBC的代码 :public class JdbcDemo { private final static String CONN_URL="jdbc:oracle:thin:@localhost:1521:xe"; private final static String ORACLE_DRIVER="oracle.jdbc.O
Java Cast and ConversionsIn this Java fundamentals tutorial let us see about casting in Java. This tutorial is having two parts, the first one is for casting on reference types and the second is f