栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【shell脚本】使用菜单命令构建在集群内创建文件夹的脚本

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【shell脚本】使用菜单命令构建在集群内创建文件夹的脚本

这里写目录标题
  • 背景
  • 实现
    • 2.1 配置文件
    • 2.2 脚本

背景

有一个需求,需要在集群内的各个主机创建一样的目录,比如要新增目录x,那么该集群内的所有主机都需要创建该x目录,并更改目录的执行权限。

实现

为了方便操作,准备使用菜单命令构建选项,脚本根据选项选择对应的操作。

2.1 配置文件

services_conf 配置如下:

test1/logs;test1/project-logs;test1/agent/logs
test2/logs;test2/project-logs;test2/agent/logs
test3/logs;test3/project-logs;test3/agent/logs
test4/logs;test4/project-logs;test4/agent/logs
2.2 脚本
#!/bin/bash

# 判断配置文件是否存在
function file_exist() {
  conf_filename=$1
  [ ! -f $conf_filename ] && {
   echo "there is no conf file named $conf_filename"
   exit 1
  }
}

# 在集群中执行命令
function create_dir() {
  echo "ansible 要执行的命令是 $1"
  ansible all -m shell -a "$1"
}

function main_op() {
  services_conf=$1
  services_name=`cat $services_conf | grep -v "^#"`
  oldIFS=$IFS
  IFS=$'n'
  
  for service in $services_name
  do
   echo "service:$service 开始处理........."
   IFS=$";"
   for sub_item in $service
   do
     #文件夹如果不存在则创建
     if [ ! -d /home/work/chao/$sub_item ];then
       create_dir "mkdir -p /home/work/chao/$sub_item && chmod -R 777 /home/work/chao/$sub_item"
     else
       echo "$sub_item已存在..............."
     fi
   done
   echo "$service处理完毕..................."
   echo
  done
  IFS=$oldIFS
}

##########脚本开始执行
echo "Now ,the shell will be executed named $0.............."
PS3="Enter option"

flag=1
while [ $flag -eq 1 ]
do
 echo "Please input a number: 1. 创建目录; 2.退出"
 select option in "创建目录" "退出"
 do
   case $option in
     "退出")
        flag=0
        break
        ;;
     "创建目录")
        echo -e "33[31m 开始创建目录操作................33[0m"
        file_exist services_conf
        main_op services_conf
        echo
        echo -e "33[31m 完成创建目录................33[0m"
        ;;
      *)
      clear
      echo "对不起,输入的选项有误!"
      echo "Please input a number: 1. 创建目录; 2.退出"
      ;;
    esac
 #select
 done
#while
done
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004411.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号