运维脚本---------使用ssh远程登陆所有主机并检测
1、在监测端创建ssh公钥,并将公钥发送到所有被检测端
#命令行输入 ssh-keygen #后面一直回车 #会在当前目录的./ssh下生成密钥对 #将公钥(id_rsa.pub)发送给被监控端 ssh-copy-id root@被监控端IP
#需要输入远程被监控端IP的密码,才能发送过去
#利用私钥登陆被监控端
ssh -i .ssh/id_rsa root@被监控端IP
2、创建一个host.info文件,并在其中存放被检测端的所有信息格式信息:
ip 用户名 端口号
3、自动远程登陆被监控端
# 1、获取磁盘使用率 # 2、监控多台磁盘使用率,利用ssh进行。一台作为服务监控端,其他作为被监控端。 # 3、配置免输入密码,监控端生成密钥,将公钥拷贝给被监控端,公钥一般存放在.ssh/id_rsa #! /bin/bash HOST_INFO=host.info for IP in $(awk '/^[^#]/{print $1}' $HOST_INFO);do USER=$(awk -v ip=$IP 'ip==$1{print $2}' $HOST_INFO) PORT=$(awk -v ip=$IP 'ip==$1{print $3}' $HOST_INFO) TMP_FILE=/tmp/disk.tmp ssh -p $PORT $USER@IP 'df -h' > $TMP_FILE USE_RATE_LIST=$(awk 'BEGIN{OFS="="}/^\/dev/{print $NF,int($5)}' $TMP_FILE) for USE_RATE in $USE_RATE_LIST;do PART_NAME=${USE_RATE%=*} USE_RATE=${USE_RATE#*=} if [ $USE_RATE -ge 80];then echo "Warning: $PART_NAME Partition usage $USE_RATE%!" fi done done #host.info 分为三列 ip列 用户名列 端口列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」