Skip to content

Commit a1f41fd

Browse files
committed
feat: 增加初始化脚本
1 parent 4e3f5f1 commit a1f41fd

4 files changed

Lines changed: 140 additions & 0 deletions

File tree

File renamed without changes.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.idea
2+
.env
3+
docker-compose.yml

init.sh

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
#!/usr/bin/env bash
2+
3+
set -eu
4+
5+
# 脚本所在目录
6+
CWD=$(dirname $(readlink -f "$0"))
7+
# 数据目录
8+
DIR_DATA=${CWD}/data
9+
DIR_LOGS=${CWD}/logs
10+
DIR_SERVICES=${CWD}/services
11+
12+
# 输出
13+
message() {
14+
if [[ $# -lt 1 ]]; then
15+
return
16+
fi
17+
18+
echo -e "# $1"
19+
}
20+
21+
# 初始化 docker-compose.yml 和 .env 文件
22+
init_startup_files() {
23+
message "进入 ${CWD}"
24+
cd $CWD
25+
26+
message "正在初始化 docker-compose.yml"
27+
if [[ -f docker-compose.yml ]]; then
28+
message "docker-compose.yml 文件已存在"
29+
else
30+
cp docker-compose.yml.example docker-compose.yml
31+
message "docker-compose.yml 初始化成功"
32+
fi
33+
34+
message "正在初始化 .env"
35+
if [[ -f .env ]]; then
36+
message ".env 文件已存在"
37+
else
38+
cp .env.example .env
39+
message ".env 初始化成功"
40+
fi
41+
}
42+
43+
# 初始化 DIR_DATA
44+
init_data() {
45+
if [[ $# -lt 1 ]]; then
46+
return
47+
fi
48+
49+
if [[ ! -d $1 ]]; then
50+
message "${1} 不是有效的目录"
51+
return
52+
fi
53+
54+
message "遍历目录 ${1}"
55+
for file in `ls -A ${1}`
56+
do
57+
local item=$1/$file
58+
if [[ -d $item ]]; then
59+
message "处理目录 ${item}"
60+
chmod 777 $item
61+
init_data $item
62+
fi
63+
done
64+
}
65+
66+
# 初始化 DIR_LOGS
67+
init_logs() {
68+
if [[ $# -lt 1 ]]; then
69+
return
70+
fi
71+
72+
if [[ ! -d $1 ]]; then
73+
message "${1} 不是有效的目录"
74+
return
75+
fi
76+
77+
message "遍历目录 ${1}"
78+
for file in `ls -A ${1}`
79+
do
80+
local item=$1/$file
81+
if [[ -d $item ]]; then
82+
message "处理目录 ${item}"
83+
chmod 777 $item
84+
init_logs $item
85+
fi
86+
done
87+
}
88+
89+
# 初始化 DIR_SERVICES
90+
init_services() {
91+
if [[ $# -lt 1 ]]; then
92+
return
93+
fi
94+
95+
if [[ ! -d $1 ]]; then
96+
message "${1} 不是有效的目录"
97+
return
98+
fi
99+
100+
message "遍历目录 ${1}"
101+
for file in `ls -A ${1}`
102+
do
103+
local item=$1/$file
104+
if [[ -d $item ]]; then
105+
message "处理目录 ${item}"
106+
chmod 777 $item
107+
init_services $item
108+
elif [[ -f $item ]]; then
109+
message "处理文件 ${item}"
110+
chmod 644 $item
111+
fi
112+
done
113+
}
114+
115+
message "##############################################"
116+
message "正在初始化文件"
117+
message "##############################################"
118+
init_startup_files
119+
120+
message "##############################################"
121+
message "正在初始化 ${DIR_DATA}"
122+
message "##############################################"
123+
init_data $DIR_DATA
124+
125+
message "##############################################"
126+
message "正在初始化 ${DIR_LOGS}"
127+
message "##############################################"
128+
init_logs $DIR_LOGS
129+
130+
message "##############################################"
131+
message "正在初始化 ${DIR_SERVICES}"
132+
message "##############################################"
133+
init_services $DIR_SERVICES
134+
135+
message "##############################################"
136+
message "处理完毕"
137+
message "##############################################"

0 commit comments

Comments
 (0)