Skip to content

Commit e1773d6

Browse files
committed
update scripts
1 parent c1e96a7 commit e1773d6

13 files changed

Lines changed: 409 additions & 252 deletions

File tree

codes/linux/dunwu-ops.sh

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,61 @@
11
#!/usr/bin/env bash
22

3-
# ---------------------------------------------------------------------------------
4-
# 控制台颜色
5-
BLACK="\033[1;30m"
6-
RED="\033[1;31m"
7-
GREEN="\033[1;32m"
8-
YELLOW="\033[1;33m"
9-
BLUE="\033[1;34m"
10-
PURPLE="\033[1;35m"
11-
CYAN="\033[1;36m"
12-
RESET="$(tput sgr0)"
13-
# ---------------------------------------------------------------------------------
3+
#!/usr/bin/env bash
4+
5+
# ------------------------------------------------------------------------------
6+
# CentOS 常用软件一键安装脚本
7+
# @author Zhang Peng
8+
# ------------------------------------------------------------------------------
9+
10+
# ------------------------------------------------------------------------------ libs
11+
# 装载其它库
12+
LINUX_SCRIPTS_DIR=$(cd `dirname $0`; pwd)
13+
14+
if [[ ! -x ${LINUX_SCRIPTS_DIR}/lib/utils.sh ]]; then
15+
logError "必要脚本库 ${LINUX_SCRIPTS_DIR}/lib/utils.sh 不存在!"
16+
exit 1
17+
fi
18+
19+
source ${LINUX_SCRIPTS_DIR}/lib/utils.sh
20+
21+
# ------------------------------------------------------------------------------ functions
1422

1523
# 打印头部信息
1624
printHeadInfo() {
17-
printf "${BLUE}\n"
18-
cat << EOF
25+
printf "${C_B_BLUE}\n"
26+
cat << EOF
1927
###################################################################################
2028
# 欢迎使用 Dunwu Shell 运维脚本
2129
# 适用于 Linux CentOS 环境
2230
# @author: Zhang Peng
2331
###################################################################################
2432
EOF
25-
printf "${RESET}\n"
33+
printf "${C_RESET}\n"
2634
}
2735

2836
# 打印尾部信息
2937
printFootInfo() {
30-
printf "${BLUE}\n"
31-
cat << EOF
38+
printf "${C_B_BLUE}\n"
39+
cat << EOF
3240
###################################################################################
3341
# 脚本执行结束,感谢使用!
3442
###################################################################################
3543
EOF
36-
printf "${RESET}\n"
44+
printf "${C_RESET}\n"
3745
}
3846

3947
# 检查操作系统环境
4048
checkOsVersion() {
4149
if (($1 == 1)); then
4250
platform=`uname -i`
4351
if [[ ${platform} != "x86_64" ]]; then
44-
printf "\n${RED}脚本仅支持 64 位操作系统!${RESET}\n"
52+
logError "脚本仅支持 64 位操作系统!"
4553
exit 1
4654
fi
4755

4856
version=`cat /etc/redhat-release | awk '{print substr($4,1,1)}'`
4957
if [[ ${version} != 7 ]]; then
50-
printf "\n${RED}脚本仅支持 CentOS 7!${RESET}\n"
58+
logError "脚本仅支持 CentOS 7!"
5159
exit 1
5260
fi
5361
fi
@@ -70,14 +78,15 @@ selectAndExecTask() {
7078
printFootInfo
7179
exit 0 ;;
7280
*)
73-
printf "\n${RED}输入项不支持!${RESET}\n"
81+
logWarn "输入项不支持!"
7482
selectAndExecTask ;;
7583
esac
7684
break
7785
done
7886
}
7987

8088

81-
######################################## MAIN ########################################
89+
# ------------------------------------------------------------------------------ main
90+
8291
checkOsVersion 1
8392
selectAndExecTask

codes/linux/dunwu-soft.sh

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,38 @@
11
#!/usr/bin/env bash
22

3-
# ---------------------------------------------------------------------------------
4-
# 控制台颜色
5-
BLACK="\033[1;30m"
6-
RED="\033[1;31m"
7-
GREEN="\033[1;32m"
8-
YELLOW="\033[1;33m"
9-
BLUE="\033[1;34m"
10-
PURPLE="\033[1;35m"
11-
CYAN="\033[1;36m"
12-
RESET="$(tput sgr0)"
13-
# ---------------------------------------------------------------------------------
3+
# ------------------------------------------------------------------------------
4+
# CentOS 常用软件一键安装脚本
5+
# @author Zhang Peng
6+
# ------------------------------------------------------------------------------
147

15-
printf "${BLUE}\n"
8+
# ------------------------------------------------------------------------------ libs
9+
# 装载其它库
10+
LINUX_SCRIPTS_DIR=$(cd `dirname $0`; pwd)
11+
12+
if [[ ! -x ${LINUX_SCRIPTS_DIR}/lib/utils.sh ]]; then
13+
logError "必要脚本库 ${LINUX_SCRIPTS_DIR}/lib/utils.sh 不存在!"
14+
exit 1
15+
fi
16+
17+
source ${LINUX_SCRIPTS_DIR}/lib/utils.sh
18+
19+
# ------------------------------------------------------------------------------ functions
20+
# 打印头部信息
21+
printHeadInfo() {
22+
printf "${C_B_BLUE}\n"
1623
cat << EOF
1724
###################################################################################
18-
# 欢迎使用 Dunwu Shell 软件安装脚本
25+
# 欢迎使用 CentOS 常用软件一键安装脚本
1926
# 适用于 Linux CentOS 环境
2027
# @author: Zhang Peng
2128
###################################################################################
2229
EOF
23-
printf "${RESET}\n"
30+
printf "${C_RESET}\n"
31+
}
2432

2533
# print menu
2634
printMenu() {
27-
printf "${PURPLE}"
35+
printf "${C_B_MAGENTA}"
2836
menus=( docker fastdfs gitlab jdk8 jenkins kafka maven mongodb mysql nacos nexus nginx nodejs redis rocketmq tomcat8 zookeeper zsh exit )
2937
for i in "${!menus[@]}"; do
3038
index=`expr ${i} + 1`
@@ -35,7 +43,7 @@ printMenu() {
3543
fi
3644
done
3745

38-
printf "\n\n${BLUE}请选择需要安装的软件:${RESET}"
46+
printf "\n\n${C_B_BLUE}请选择需要安装的软件:${C_RESET}"
3947
}
4048

4149
# exec shell to install soft
@@ -46,22 +54,24 @@ main() {
4654
no=`expr ${index} - 1`
4755
len=${#menus[*]}
4856
if [[ ${index} -gt ${len} ]]; then
49-
printf "${RED}输入项不支持!\n${RESET}"
50-
exit -1
57+
logWarn "输入项不支持!"
58+
exit 1
5159
fi
5260
key=${menus[$no]}
5361
if [[ ${key} == 'exit' ]]; then
54-
printf "${GREEN}退出 Dunwu 软件安装脚本。\n${RESET}"
62+
logInfo "退出软件安装脚本。"
5563
exit 0
5664
fi
5765
sh soft/${key}-install.sh
5866
printf "\n"
5967
main
6068
else
61-
printf "${RED}输入项不支持!\n${RESET}"
62-
exit -1
69+
logWarn "输入项不支持!"
70+
exit 1
6371
fi
6472
}
6573

66-
######################################## MAIN ########################################
74+
# ------------------------------------------------------------------------------ main
75+
76+
printHeadInfo
6777
main

codes/linux/dunwu-sys.sh

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,35 @@
11
#!/usr/bin/env bash
22

3-
# ---------------------------------------------------------------------------------
4-
# 控制台颜色
5-
BLACK="\033[1;30m"
6-
RED="\033[1;31m"
7-
GREEN="\033[1;32m"
8-
YELLOW="\033[1;33m"
9-
BLUE="\033[1;34m"
10-
PURPLE="\033[1;35m"
11-
CYAN="\033[1;36m"
12-
RESET="$(tput sgr0)"
13-
# ---------------------------------------------------------------------------------
14-
15-
printf "${BLUE}\n"
3+
# ------------------------------------------------------------------------------
4+
# CentOS 环境初始化脚本
5+
# @author Zhang Peng
6+
# ------------------------------------------------------------------------------
7+
8+
# ------------------------------------------------------------------------------ libs
9+
# 装载其它库
10+
LINUX_SCRIPTS_DIR=$(cd `dirname $0`; pwd)
11+
12+
if [[ ! -x ${LINUX_SCRIPTS_DIR}/lib/utils.sh ]]; then
13+
logError "必要脚本库 ${LINUX_SCRIPTS_DIR}/lib/utils.sh 不存在!"
14+
exit 1
15+
fi
16+
17+
source ${LINUX_SCRIPTS_DIR}/lib/utils.sh
18+
19+
# ------------------------------------------------------------------------------ functions
20+
21+
# 打印头部信息
22+
printHeadInfo() {
23+
printf "${C_B_BLUE}\n"
1624
cat << EOF
1725
###################################################################################
1826
# 欢迎使用 Dunwu Shell 环境初始化脚本(设置环境配置、安装基本的命令工具)
1927
# 适用于 Linux CentOS 环境
2028
# @author: Zhang Peng
2129
###################################################################################
2230
EOF
23-
printf "${RESET}\n"
31+
printf "${C_RESET}\n"
32+
}
2433

2534
menus=( "替换yum镜像" "安装基本的命令工具" "安装常用libs" "系统配置" "全部执行" "退出" )
2635
main() {
@@ -29,33 +38,34 @@ main() {
2938
do
3039
case ${item} in
3140
"替换yum镜像")
32-
sh ${path}/sys/change-yum-repo.sh
41+
sh ${LINUX_SCRIPTS_DIR}/sys/change-yum-repo.sh
3342
main ;;
3443
"安装基本的命令工具")
35-
sh ${path}/sys/install-tools.sh
44+
sh ${LINUX_SCRIPTS_DIR}/sys/install-tools.sh
3645
main ;;
3746
"安装常用libs")
38-
sh ${path}/sys/install-libs.sh
47+
sh ${LINUX_SCRIPTS_DIR}/sys/install-libs.sh
3948
main ;;
4049
"系统配置")
41-
sh ${path}/sys/sys-settings.sh ${path}/sys
50+
sh ${LINUX_SCRIPTS_DIR}/sys/sys-settings.sh ${LINUX_SCRIPTS_DIR}/sys
4251
main ;;
4352
"全部执行")
44-
sh ${path}/sys/change-yum-repo.sh
45-
sh ${path}/sys/install-tools.sh
46-
sh ${path}/sys/install-libs.sh
47-
sh ${path}/sys/sys-settings.sh ${path}/sys
48-
printf "${GREEN}执行完毕,退出${RESET}\n" ;;
53+
sh ${LINUX_SCRIPTS_DIR}/sys/change-yum-repo.sh
54+
sh ${LINUX_SCRIPTS_DIR}/sys/install-tools.sh
55+
sh ${LINUX_SCRIPTS_DIR}/sys/install-libs.sh
56+
sh ${LINUX_SCRIPTS_DIR}/sys/sys-settings.sh ${LINUX_SCRIPTS_DIR}/sys
57+
logInfo "执行完毕,退出" ;;
4958
"退出")
5059
exit 0 ;;
5160
*)
52-
printf "${RED}输入项不支持!${RESET}\n"
61+
logWarn "输入项不支持!"
5362
main ;;
5463
esac
5564
break
5665
done
5766
}
5867

59-
######################################## MAIN ########################################
60-
path=$(pwd)
68+
# ------------------------------------------------------------------------------ main
69+
70+
printHeadInfo
6171
main

codes/linux/lib/docker.sh

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#!/usr/bin/env bash
2+
3+
# ------------------------------------------------------------------------------
4+
# 构建 Docker 镜像 脚本
5+
# @author Zhang Peng
6+
# @since 2020/1/14
7+
# ------------------------------------------------------------------------------
8+
9+
# 装载其它库
10+
LINUX_SCRIPTS_LIB_DIR=`dirname ${BASH_SOURCE[0]}`
11+
source ${LINUX_SCRIPTS_LIB_DIR}/utils.sh
12+
13+
dockerBuild() {
14+
if [[ ! $1 ]] || [[ ! $2 ]] || [[ ! $3 ]]; then
15+
logError "you must input following params in order:"
16+
echo -e "${C_B_RED}"
17+
echo " (1) source"
18+
echo " (2) repository"
19+
echo " (3) tag"
20+
echo -e "\nEg. dockerBuild /home/workspace dunwu/dockerApp 0.0.1"
21+
echo -e "${C_RESET}"
22+
return ${FAILED}
23+
fi
24+
25+
local source=$1
26+
local repository=$2
27+
local tag=$3
28+
29+
dockerCheck ${source}
30+
if [[ "${SUCCEED}" != "$?" ]]; then
31+
return ${FAILED}
32+
fi
33+
34+
cd ${source}
35+
callAndLog docker build -t ${repository}:${tag} .
36+
if [[ "${SUCCEED}" != "$?" ]]; then
37+
logError "docker build -t ${repository}:${tag} failed"
38+
return ${FAILED}
39+
fi
40+
41+
cd -
42+
}
43+
44+
dockerPush() {
45+
if [[ ! $1 ]] || [[ ! $2 ]]; then
46+
logError "you must input following params in order:"
47+
echo -e "${C_B_RED}"
48+
echo " (1) repository"
49+
echo " (2) tag"
50+
echo -e "\nEg. dockerBuild dunwu/dockerApp 0.0.1"
51+
echo -e "${C_RESET}"
52+
return ${FAILED}
53+
fi
54+
55+
local repository=$1
56+
local tag=$2
57+
58+
# 如果 docker 镜像已存在,则删除镜像
59+
local dockerHashId=$(docker image ls | grep ${repository} | grep ${tag} | awk '{print $3}')
60+
if [[ ! ${dockerHashId} ]]; then
61+
logInfo "try to delete existed image: ${repository}:${tag}"
62+
callAndLog docker rmi ${dockerHashId}
63+
fi
64+
65+
logInfo "try to push new image: ${repository}:${tag}"
66+
callAndLog docker push ${repository}:${tag}
67+
}
68+
69+
# 判断指定路径下是否为 docker 工程
70+
# @param $1: 第一个参数为 docker 项目路径
71+
dockerCheck() {
72+
local source=$1
73+
if [[ -d "${source}" ]]; then
74+
cd ${source}
75+
if [[ -f "${source}/Dockerfile" ]]; then
76+
return ${YES}
77+
else
78+
logError "Dockerfile is not exists"
79+
return ${NO}
80+
fi
81+
cd -
82+
return ${YES}
83+
else
84+
logError "${source} is not valid docker project"
85+
return ${NO}
86+
fi
87+
}

0 commit comments

Comments
 (0)