当前位置: 首页 > news >正文

全球最大的购物网站南宁市千界网络科技有限公司

全球最大的购物网站,南宁市千界网络科技有限公司,网页小游戏网址大全,wordpress 关闭网站脚本任务 监测主机是否联通正常 检查安装操作系统版本是否和需求一致 检查CPU是否满足规格要求 检查内存是否满足规格要求 检查数据磁盘是否满足规格要求 检查操作系统分区目录大小是否满足需求 检查集群主机时间是否一致 0.配置文件准备及脚本变量初始化 编写config.i…脚本任务 监测主机是否联通正常 检查安装操作系统版本是否和需求一致 检查CPU是否满足规格要求 检查内存是否满足规格要求 检查数据磁盘是否满足规格要求 检查操作系统分区目录大小是否满足需求 检查集群主机时间是否一致 0.配置文件准备及脚本变量初始化 编写config.ini存放主机配置文件 [hosts] 10.0.1.10 node01 10.0.1.20 node02 10.0.1.30 node03[root_password] 000000 编写 env-check.sh 取出ip和 密码 #!/bin/bash # if [ ! -e ./config.ini ];thenecho config.ini is not exist...please check..EXIT 1 fiHOSTS_IPcat config.ini | sed -n /\[hosts\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^# |awk {print $1}ROOT_PATHcat config.ini | sed -n /\[root_password\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^# 1.监测主机是否联通正常 function check_host_online {echo 监测主机是否联通正常for host in $HOSTS_IP;doping -w 3 $host /dev/nullif [ $? -eq 0 ];thenecho 检测主机 $host 连通性通过elseecho 检测主机 $host 无法连通ping_faild_hosts$ping_faild_hosts $hostfidoneif [[ $ping_faild_hosts ]];thenecho 1.使用ping对主机连通性检查全部通过elseecho 1.使用ping对主机连通性检查未全部通过$ping_faild_hostsexit 1fi } 循环遍历主机列表通过for循环遍历HOSTS_IP变量中包含的所有主机IP地址。 执行ping命令对每个主机执行ping命令-w 3参数指定ping操作持续3秒 /dev/null将标准输出和标准错误都重定向到/dev/null即不显示ping命令的输出。 检查ping命令的返回值使用$?获取上一个命令即ping命令的退出状态。如果返回值为0-eq 0表示ping命令成功即主机连通性通过。 打印连通性结果如果主机连通性通过则打印检测主机 $host 连通性通过如果不通则打印检测主机 $host 无法连通并将该主机IP添加到ping_faild_hosts变量中用于记录失败的主机。 检查是否有主机未通过连通性检查循环结束后使用if语句检查ping_faild_hosts变量是否为空。如果为空表示所有主机的连通性检查都通过了打印1.使用ping对主机连通性检查全部通过。如果不为空表示有主机未通过连通性检查打印1.使用ping对主机连通性检查未全部通过$ping_faild_hosts并退出脚本返回状态为1。 退出脚本如果检测到有主机连通性失败脚本将通过exit 1命令退出并返回状态码1表示脚本执行失败。 2.检查安装操作系统版本是否和需求一致 先编写检查主机是否能登录 function verify_password {if [ $# -lt 2 ];thenecho Usage: verify_password IP root_passwordexit 1fisshpass -p$2 ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$1 df -h /dev/nullif [ $? -ne 0 ];thenecho 尝试登录ssh主机$1 失败,检查后重试return 255elsereturn 0fi }编写检查操作系统版本是否一致 grep $OS_VERSION /etc/redhat-release OS_VERSIONcat config.ini | sed -n /\[os_version\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#function check_os_version {for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thensshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host grep $OS_VERSION /etc/redhat-release /dev/nullif [ $? -ne 0 ];thenecho 检查主机$host 版本与目标不一致,检查不通过os_failed_hosts$os_failed_hosts $hostelseecho 检查主机$host 版本与目标一致,检查通过fielseos_failed_hosts$os_failed_hosts $hostfidoneif [[ $os_failed_hosts ]];thenecho 2.对主机版本检查全部通过elseecho 2.对主机版本检查未全部通过: $os_failed_hostsexit 1fi }循环遍历主机列表通过for循环遍历HOSTS_IP变量中包含的所有主机IP地址。 验证密码对每个主机调用verify_password函数传入主机IP和root用户的密码$ROOT_PASS以验证SSH连接的密码是否正确。 检查SSH连接如果verify_password函数返回状态码0表示密码验证成功则继续执行否则跳过当前主机。 SSH连接并检查操作系统版本使用sshpass工具和提供的root用户密码通过SSH连接到主机并执行grep命令检查/etc/redhat-release文件中是否包含特定的操作系统版本字符串$OS_VERSION。这里使用了-o StrictHostKeyCheckingno选项来禁用严格的主机密钥检查这在自动化脚本中常用于避免每次连接时的手动确认。 记录检查结果如果操作系统版本检查未通过即grep命令返回非0状态码则打印该主机的检查未通过信息并将主机IP添加到os_failed_hosts变量中如果检查通过则打印该主机的检查通过信息。 汇总检查结果循环结束后使用if语句检查os_failed_hosts变量是否为空。如果为空表示所有主机的操作系统版本检查都通过了打印2.对主机版本检查全部通过。如果不为空表示有主机的操作系统版本检查未通过打印2.对主机版本检查未全部通过$os_faild_hosts并退出脚本返回状态码1。 退出脚本如果检测到有主机操作系统版本不一致脚本将通过exit 1命令退出并返回状态码1表示脚本执行失败。 3.检查CPU是否满足规格要求 cat /proc/cpuinfo |grep ^processor |sort |uniq |wc -l CPU_COREScat config.ini | sed -n /\[cpu_cores\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^# function check_cpu_cores {for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenDST_CPU_CORESsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host cat /proc/cpuinfo |grep ^processor |sort |uniq |wc -l /dev/nullif [ $DST_CPU_CORES -lt $CPU_CORES ];thenecho 检查主机CPU逻辑核心数量,检查不通过cpu_failed_hosts$cpu_failed_hosts $hostelseecho 检查主机CPU逻辑核心数量,检查通过fielsecpu_failed_hosts$cpu_failed_hosts $hostfidoneif [[ $cpu_failed_hosts ]];thenecho 3.对主机cpu检查全部通过elseecho 3.对主机cpu检查未全部通过: $cpu_failed_hostsexit 1fi 4.检查内存是否满足规格要求 cat /proc/meminfo |grep MemTotal| awk {print $2} TOTAL_MEMORYcat config.ini | sed -n /\[memory_kb\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^# function check_memory {for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenDST_TOTAL_MEMORYsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host cat /proc/meminfo |grep MemTotal| awk {print \\$2} /dev/nullif [ $DST_TOTAL_MEMORY -lt $TOTAL_MEMORY ];thenecho 检查主机 $host 内存大小,检查不通过men_failed_hosts$men_failed_hosts $hostelseecho 检查主机 $host 内存大小,检查通过fielsemen_failed_hosts$men_failed_hosts $hostfidoneif [[ $men_failed_hosts ]];thenecho 4.对主机内存检查全部通过elseecho 4.对主机内存检查未全部通过,未通过的主机: $men_failed_hostsfi } 5.检查数据磁盘是否满足规格要求 function check_disk_number {for host in $HOSTS_IP;doverify_password $host $ROOT_PASSALL_DISK_SYMBOLSsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host lsscsi |awk \\$2~/disk/{print \\$8} /dev/nullfor d in $ALL_DISK_SYMBOLS;dodf -h | grep $d /dev/nullif [ $? -eq 0 ];thenDATA_DISK_SYMBOLSecho $ALL_DISK_SYMBOLS | sed s#$d##gfidoneDATA_DISK_NUMBERecho $DATA_DISK_SYMBOLS | awk {print NF}if [ $DATA_DISK_NUMBER -ge $NUM_OF_DISK ]; thenecho 检查主机 $host 数据盘个数,检查通过elseecho 检查主机 $host 数据盘个数,检查不通过disk_failed_hosts$disk_failed_hosts $hostfidoneif [[ $disk_failed_hosts ]];thenecho 5.对主机内存检查全部通过elseecho 5.对主机内存检查未全部通过,未通过的主机: $disk_failed_hostsfi} 6.检查操作系统分区目录大小是否满足需求 PARTITION_SIZEcat config.ini | sed -n /\[root_partition_size\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^# function check_root_partition_size {for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenROOT_PARTITION_SIZEsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host df -h |awk \\$6\/\{print \\$2} |sed s/[^0-9]//g /dev/nullif [ $ROOT_PARTITION_SIZE -ge $PARTITION_SIZE ]; thenecho 检查主机 $host 分区大小,检查通过elseecho 检查主机 $host 分区大小,检查不通过part_failed_hosts$part_failed_hosts $hostfielsepart_failed_hosts$part_failed_hosts $hostfidoneif [[ $part_failed_hosts ]];thenecho 6.对主机分区大小,全部通过elseecho 6.对主机分区大小,未全部通过,未通过的主机: $part_failed_hostsfi } 7.检查集群主机时间是否一致 TIME_VALUEcat config.ini | sed -n /\[time_sync_diff\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^# function check_time_sync {for host in $HOSTS_IP;doLOCAL_TIMEdate %Y%m%d%H%M%Sverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenDST_HOST_TIMEsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host date %Y%m%d%H%M%S /dev/nullTIME_DIFFexpr $LOCAL_TIME - $DST_HOST_TIME |sed s/[^0-9]//gif [ $TIME_DIFF -lt $TIME_VALUE ];thenecho 检查主机 $host 时间同步通过elseecho 检查主机 $host 时间同步不通过时间误差在 $TIME_DIFFtime_failed_hosts$time_failed_hosts $hostfielsetime_failed_hosts$time_failed_hosts $hostfidoneif [[ $time_failed_hosts ]];thenecho 7.对主机时间检查,全部通过elseecho 7.对主机时间检查,未全部通过,未通过的主机: $time_failed_hostsfi }全部代码在这 #!/bin/bash # if [ ! -e ./config.ini ];thenecho config.ini is not exist...please check..exit 1 fiHOSTS_IPcat config.ini | sed -n /\[hosts\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^# |awk {print $1}ROOT_PASScat config.ini | sed -n /\[root_password\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#OS_VERSIONcat config.ini | sed -n /\[os_version\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#CPU_COREScat config.ini | sed -n /\[cpu_cores\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#TOTAL_MEMORYcat config.ini | sed -n /\[memory_kb\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#NUM_OF_DISKcat config.ini | sed -n /\[data_disk_number\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#PARTITION_SIZEcat config.ini | sed -n /\[root_partition_size\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#TIME_VALUEcat config.ini | sed -n /\[time_sync_diff\]/,/\[.*\]/p | grep -v \[.*\] |grep -v ^$ |grep -v ^#if [[ $HOSTS_IP ]];thenecho NO HOST IP ADDRESS is configured in config.please check config.iniexit 1 elseecho the cluster includes the following hosts:for host in $HOSTS_IP; doecho $hostdoneread -p Please confirm,input yes/no: choiceif [[ $choice yes || $choice YES || $choice Y || $choice y ]];thencontinueelseexitfi fifunction format_print {if [ $# -lt 1 ]; thenecho Usage: format_print args1 args2...exit 1fifor str in $;doecho $strdone }function verify_password {if [ $# -lt 2 ];thenecho Usage: verify_password IP root_passwordexit 1fisshpass -p$2 ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$1 df -h /dev/nullif [ $? -ne 0 ];thenecho 尝试登录ssh主机$1 失败,检查后重试return 255elsereturn 0fi }function check_host_online {echo 1、检查主机是否联通正常for host in $HOSTS_IP;doping -w 3 $host /dev/nullif [ $? -eq 0 ];thenecho 检测主机 $host 连通性通过elseecho 检测主机 $host 无法连通ping_faild_hosts$ping_faild_hosts $hostfidoneif [[ $ping_faild_hosts ]];thenecho 1.使用ping对主机连通性检查全部通过elseecho 1.使用ping对主机连通性检查未全部通过format_print $ping_faild_hostsfi } function check_os_version {echo 2、检查安装操作系统版本是否和需求一致for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thensshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host grep $OS_VERSION /etc/redhat-release /dev/nullif [ $? -ne 0 ];thenecho 检查主机$host 版本与目标不一致,检查不通过os_failed_hosts$os_failed_hosts $hostelseecho 检查主机$host 版本与目标一致,检查通过fielseos_failed_hosts$os_failed_hosts $hostfidoneif [[ $os_failed_hosts ]];thenecho 2.对主机版本检查全部通过elseecho 2.对主机版本检查未全部通过未通过的主机: format_print $os_failed_hostsfi } function check_cpu_cores {echo 3、检查CPU是否满足规格要求for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenDST_CPU_CORESsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host cat /proc/cpuinfo |grep ^processor |sort |uniq |wc -l /dev/nullif [ $DST_CPU_CORES -lt $CPU_CORES ];thenecho 检查主机CPU逻辑核心数量,检查不通过cpu_failed_hosts$cpu_failed_hosts $hostecho $cpu_failed_hostselseecho 检查主机CPU逻辑核心数量,检查通过fielsecpu_failed_hosts$cpu_failed_hosts $hostfidoneif [[ $cpu_failed_hosts ]];thenecho 3.对主机cpu检查全部通过elseecho 3.对主机cpu检查未全部通过未通过的主机: format_print $cpu_failed_hostsfi } function check_memory {echo 4、检查内存是否满足规格要求for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenDST_TOTAL_MEMORYsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host cat /proc/meminfo |grep MemTotal| awk {print \\$2} /dev/nullif [ $DST_TOTAL_MEMORY -lt $TOTAL_MEMORY ];thenecho 检查主机 $host 内存大小,检查不通过men_failed_hosts$men_failed_hosts $hostelseecho 检查主机 $host 内存大小,检查通过fielsemen_failed_hosts$men_failed_hosts $hostfidoneif [[ $men_failed_hosts ]];thenecho 4.对主机内存检查全部通过elseecho 4.对主机内存检查未全部通过,未通过的主机:format_print $men_failed_hostsfi } function check_disk_number {echo 5、检查数据磁盘是否满足规格要求for host in $HOSTS_IP;doverify_password $host $ROOT_PASSALL_DISK_SYMBOLSsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host lsscsi |awk \\$2~/disk/{print \\$8} /dev/nullfor d in $ALL_DISK_SYMBOLS;dodf -h | grep $d /dev/nullif [ $? -eq 0 ];thenDATA_DISK_SYMBOLSecho $ALL_DISK_SYMBOLS | sed s#$d##gfidoneDATA_DISK_NUMBERecho $DATA_DISK_SYMBOLS | awk {print NF}if [ $DATA_DISK_NUMBER -ge $NUM_OF_DISK ]; thenecho 检查主机 $host 数据盘个数,检查通过elseecho 检查主机 $host 数据盘个数,检查不通过disk_failed_hosts$disk_failed_hosts $hostfidoneif [[ $disk_failed_hosts ]];thenecho 5.对主机内存检查全部通过elseecho 5.对主机内存检查未全部通过,未通过的主机:format_print $disk_failed_hostsfi} function check_root_partition_size {echo 6、检查操作系统分区目录大小是否满足需求for host in $HOSTS_IP;doverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenROOT_PARTITION_SIZEsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host df -h |awk \\$6\/\{print \\$2} |sed s/[^0-9]//g /dev/nullif [ $ROOT_PARTITION_SIZE -ge $PARTITION_SIZE ]; thenecho 检查主机 $host 分区大小,检查通过elseecho 检查主机 $host 分区大小,检查不通过part_failed_hosts$part_failed_hosts $hostfielsepart_failed_hosts$part_failed_hosts $hostfidoneif [[ $part_failed_hosts ]];thenecho 6.对主机分区大小,全部通过elseecho 6.对主机分区大小,未全部通过,未通过的主机:format_print $part_failed_hostsfi} function check_time_sync {echo 7、检查集群主机时间是否一致for host in $HOSTS_IP;doLOCAL_TIMEdate %Y%m%d%H%M%Sverify_password $host $ROOT_PASSif [ $? -eq 0 ];thenDST_HOST_TIMEsshpass -p$ROOT_PASS ssh -o StrictHostKeyCheckingno -o ConnectTimeout2 root$host date %Y%m%d%H%M%S /dev/nullTIME_DIFFexpr $LOCAL_TIME - $DST_HOST_TIME |sed s/[^0-9]//gif [ $TIME_DIFF -lt $TIME_VALUE ];thenecho 检查主机 $host 时间同步通过elseecho 检查主机 $host 时间同步不通过时间误差在 $TIME_DIFFtime_failed_hosts$time_failed_hosts $hostfielsetime_failed_hosts$time_failed_hosts $hostfidoneif [[ $time_failed_hosts ]];thenecho 7.对主机时间检查,全部通过elseecho 7.对主机时间检查,未全部通过,未通过的主机: format_print $time_failed_hostsfi } check_host_online check_os_version check_cpu_cores check_memory check_disk_number check_root_partition_size check_time_sync
http://www.w-s-a.com/news/495400/

相关文章:

  • 南宁广告公司网站建设小程序源码破解
  • 沛县做网站xlec网站建设开发方式包括哪些方面
  • 山西网站建设 哪家好四川城乡和建设厅网站
  • 有瀑布流的网站小型商城网站
  • 百石网怎么做网站二次开发软件
  • 网站域名是什么东西制作网页哪家好
  • 合肥网站建设团队简述网站内容管理流程
  • 网站广告是内容营销吗wordpress增加背景图片
  • 网站建设技术jsp课程设计响应式布局网站开发
  • 东莞网站排名优化seo套路网站怎么做的
  • 我做网站网络建站一般多少钱
  • 如何快速提升网站关键词排名房地产网站开发毕业设计
  • 做网站 提交源码 论坛sem分析是什么意思
  • 网站建设与部署阿里云大学百度付费推广有几种方式
  • 作品集怎么做网站个人简历模板免费下
  • 工业网站素材重庆关键词自动排名
  • 拖拽式网站建设费用微网站怎么做的好名字
  • 长沙电信网站备案谷歌推广怎么做最有效
  • 网站建设与管理总结报告华为开发者联盟
  • 门诊部网站建设天空建筑网站
  • 扬州市城乡建设网站高端品牌鞋子有哪些牌子
  • 杭州网站建设招聘网长沙网络销售公司
  • 网站制作一年多少钱免费做电子章网站
  • 信誉好的营销网站建设徐州市铜山新区建设局网站
  • 建行网站关于我们山西seo和网络推广
  • 1m带宽做网站怎么样深圳网站建设制作开发公司
  • 网站建设 服务内容 费用郴州网站建设公司哪里有
  • 网站关键词重要性育才网站建设
  • 网络安全形势下怎么建设学校网站wordpress最新主题下载
  • 自己建设网站需要什么条件.gs域名做网站怎么样