当前位置:网站首页>[shell script] use menu commands to build scripts for creating folders in the cluster
[shell script] use menu commands to build scripts for creating folders in the cluster
2022-07-06 09:10:00 【chaolei_ nine thousand five hundred and twenty-seven】
Here's the catalog title
background
There is a need , You need to create the same directory on each host in the cluster , For example, to add a directory x, Then all hosts in the cluster need to create this x Catalog , And change the execution permission of the directory .
Realization
For ease of operation , Prepare to use menu commands to build options , The script selects the corresponding operation according to the options .
2.1 The configuration file
services_conf The configuration is as follows :
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 Script
#!/bin/bash
# Determine if the configuration file exists
function file_exist() {
conf_filename=$1
[ ! -f $conf_filename ] && {
echo "there is no conf file named $conf_filename"
exit 1
}
}
# Execute commands in the cluster
function create_dir() {
echo "ansible The order to be executed is $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 Start to deal with ........."
IFS=$";"
for sub_item in $service
do
# If the folder does not exist, create
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 Already exists ..............."
fi
done
echo "$service Finished processing ..................."
echo
done
IFS=$oldIFS
}
########## The script starts to execute
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. Create directory ; 2. sign out "
select option in " Create directory " " sign out "
do
case $option in
" sign out ")
flag=0
break
;;
" Create directory ")
echo -e "\033[31m Start creating directory ................\033[0m"
file_exist services_conf
main_op services_conf
echo
echo -e "\033[31m Finish creating directory ................\033[0m"
;;
*)
clear
echo " I'm sorry , Wrong option entered !"
echo "Please input a number: 1. Create directory ; 2. sign out "
;;
esac
#select
done
#while
done
边栏推荐
- Computer graduation design PHP Zhiduo online learning platform
- CUDA realizes focal_ loss
- Digital people anchor 618 sign language with goods, convenient for 27.8 million people with hearing impairment
- [OC]-<UI入门>--常用控件的学习
- 多元聚类分析
- Simclr: comparative learning in NLP
- Mongodb installation and basic operation
- Mise en œuvre de la quantification post - formation du bminf
- [OC-Foundation框架]--<Copy对象复制>
- Mathematical modeling 2004b question (transmission problem)
猜你喜欢
Advanced Computer Network Review(4)——Congestion Control of MPTCP
Computer graduation design PHP Zhiduo online learning platform
【文本生成】论文合集推荐丨 斯坦福研究者引入时间控制方法 长文本生成更流畅
[oc foundation framework] - < copy object copy >
UML diagram memory skills
Intel Distiller工具包-量化实现1
[OC]-<UI入门>--常用控件-提示对话框 And 等待提示器(圈)
【shell脚本】——归档文件脚本
不同的数据驱动代码执行相同的测试场景
LeetCode:221. 最大正方形
随机推荐
LeetCode:124. 二叉树中的最大路径和
LeetCode:236. The nearest common ancestor of binary tree
[OC foundation framework] - [set array]
力扣每日一题(二)
Detailed explanation of dynamic planning
[OC]-<UI入门>--常用控件的学习
使用标签模板解决用户恶意输入的问题
LeetCode:394. String decoding
Using C language to complete a simple calculator (function pointer array and callback function)
LeetCode:34. Find the first and last positions of elements in a sorted array
LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置
SAP ui5 date type sap ui. model. type. Analysis of the parsing format of date
Leetcode刷题题解2.1.1
LeetCode:214. Shortest palindrome string
Computer graduation design PHP Zhiduo online learning platform
Advance Computer Network Review(1)——FatTree
I-BERT
Intel distiller Toolkit - Quantitative implementation 1
Advanced Computer Network Review(4)——Congestion Control of MPTCP
Different data-driven code executes the same test scenario