当前位置:网站首页>[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
边栏推荐
- Mathematical modeling 2004b question (transmission problem)
- go-redis之初始化连接
- LeetCode:162. Looking for peak
- Intel Distiller工具包-量化实现2
- Leetcode: Jianzhi offer 03 Duplicate numbers in array
- Advanced Computer Network Review(3)——BBR
- Compétences en mémoire des graphiques UML
- Mise en œuvre de la quantification post - formation du bminf
- LeetCode:214. 最短回文串
- LeetCode:387. 字符串中的第一个唯一字符
猜你喜欢

CUDA implementation of self defined convolution attention operator
![[oc]- < getting started with UI> -- learning common controls](/img/2c/d317166e90e1efb142b11d4ed9acb7.png)
[oc]- < getting started with UI> -- learning common controls

自定义卷积注意力算子的CUDA实现

MySQL uninstallation and installation methods

LeetCode:498. 对角线遍历

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

Advance Computer Network Review(1)——FatTree

After reading the programmer's story, I can't help covering my chest...

MYSQL卸载方法与安装方法

Intel distiller Toolkit - Quantitative implementation 2
随机推荐
opencv+dlib实现给蒙娜丽莎“配”眼镜
CUDA realizes focal_ loss
LeetCode:41. Missing first positive number
LeetCode:498. 对角线遍历
力扣每日一题(二)
Compétences en mémoire des graphiques UML
CUDA实现focal_loss
七层网络体系结构
随手记01
Advance Computer Network Review(1)——FatTree
Using label template to solve the problem of malicious input by users
Booking of tourism products in Gansu quadrupled: "green horse" became popular, and one room of B & B around Gansu museum was hard to find
Redis之性能指标、监控方式
SAP ui5 date type sap ui. model. type. Analysis of the parsing format of date
Advance Computer Network Review(1)——FatTree
数字人主播618手语带货,便捷2780万名听障人士
Chapter 1 :Application of Artificial intelligence in Drug Design:Opportunity and Challenges
LeetCode:236. The nearest common ancestor of binary tree
LeetCode:剑指 Offer 04. 二维数组中的查找
Pytest参数化你不知道的一些使用技巧 /你不知道的pytest