当前位置:网站首页>[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
边栏推荐
- Different data-driven code executes the same test scenario
- Niuke winter vacation training 6 maze 2
- Problems encountered in connecting the database of the project and their solutions
- Chapter 1 :Application of Artificial intelligence in Drug Design:Opportunity and Challenges
- [OC foundation framework] - string and date and time >
- Advanced Computer Network Review(4)——Congestion Control of MPTCP
- BN folding and its quantification
- 甘肃旅游产品预订增四倍:“绿马”走红,甘肃博物馆周边民宿一房难求
- In depth analysis and encapsulation call of requests
- Improved deep embedded clustering with local structure preservation (Idec)
猜你喜欢
LeetCode:236. The nearest common ancestor of binary tree
Selenium+pytest automated test framework practice
Simclr: comparative learning in NLP
LeetCode:236. 二叉树的最近公共祖先
[OC-Foundation框架]---【集合数组】
Computer graduation design PHP Zhiduo online learning platform
I-BERT
项目连接数据库遇到的问题及解决
一改测试步骤代码就全写 为什么不试试用 Yaml实现数据驱动?
In depth analysis and encapsulation call of requests
随机推荐
不同的数据驱动代码执行相同的测试场景
[OC-Foundation框架]---【集合数组】
七层网络体系结构
requests的深入刨析及封装调用
LeetCode:39. 组合总和
CUDA realizes focal_ loss
Leetcode: Sword Finger offer 42. Somme maximale des sous - tableaux consécutifs
[oc]- < getting started with UI> -- common controls - prompt dialog box and wait for the prompt (circle)
Notes 01
Ijcai2022 collection of papers (continuously updated)
UML圖記憶技巧
Selenium+Pytest自动化测试框架实战
LeetCode:26. 删除有序数组中的重复项
甘肃旅游产品预订增四倍:“绿马”走红,甘肃博物馆周边民宿一房难求
pytorch查看张量占用内存大小
In depth analysis and encapsulation call of requests
Problems encountered in connecting the database of the project and their solutions
【剑指offer】序列化二叉树
五层网络体系结构
自定义卷积注意力算子的CUDA实现