반응형
cubrid_start.sh : 실행 스크립트 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#!/bin/sh
# cubrid 프로세스가 없으면 cubrid 서비스 시작
if [ `ps -ef | grep "cub_cas" | grep -v "grep" | wc -l` -eq 0 ]; then
cubrid service start
else
echo -e "\n@++ CUBRID Service already running.\n"
fi
# DB 개수 카운트
# awk : 추출, databases.txt 파일에서 문자열 추출 후 카운트
DB_Count=`cat $CUBRID/databases/databases/txt | awk '{print $1}' | grep -v "#" | grep -v -e '^$' | wc -l`
# DB명 저장
db_name=`cat $CUBRID/databases/databases.txt | awk '{print $1}' | grep -v "#" | grep -v -e '^$'`
# 저장된 DB가 일치하면 다음을 수행
if [ `cat $CUBRID/databases/databases.txt | awk '{print $1}' | grep -v "#" | grep -v -e '^$'`
for DB_NAME in ${db_name[@]}
do
# cubrid_ha.conf에 설정된 ha_db 리스트와 동일하면
if [ `cat$CUBRID/conf/cubrid_ha.conf | grep -i "ha_db_list=" | grep "$DB_NAME" | grep -v "#" | grep -v -e '^$' | wc -l` -eq 1 ]; then
for DB_NAME in ${db_name[@]}
# cubrid heartbeat 시작, 상태 정보 표시
cubrid heartbeat start
echo -e "\n---------- CUBRID servoce status"
sleep 1
cubrid heartbeat status
break;
if
done
fi
# DB가 1개일 경우
if [ ${DB_Count} -eq 1 ]; then
# cubrid가 HA 모드이면 cubrid server 상태 출력
if [ `cat $CUBRID/conf/cubrid.conf | grep -i "ha_hode=" | grep -i "on" | grep -v "#" | grep -v -e '^$' | wc -l` -eq 0 ]; then
echo -e "\n-------------------- CUBRID service status --------------------\n"
sleep 1
cubrid server status
fi
# DB가 2개 이상일 경우
elif [ ${DB_Count} -ge 2 ]; then
# DB를 하나씩 꺼내서 아래 수행
for DB_List in ${db_name[@]}
do
# 구동중인 DB가 아니면
if [ `ps -ef | grep "${DB_List}" | grep cub_server | grep -v "grep" | wc -l` -eq 0 ]; then
# DB명을 보여주고 실행한 것인지 물어봄
echo -e "\n Do you want to run the\\033[0;32m $DB_List\\033[0;39m database ?"
# Y, N를 입력받아 cubrid server 시작, 상태 정보 출력
read -p " Input Yes or No : " answer
case $answer in
[yY]* )
cubrid server start ${DB_List};;
[nN]* )
continue;;
* )
echo -e " You must enter Yes or No. Return the sheel. ";;
esac
fi
done
echo -e "----------------- CUBRID service status --------------------\n"
cubrid server status
else
echo -e "\n----- Impossible to run. Please run it manually. -----\n"
fi
|
cs |
cubrid_service_stop.sh : 서비스 종료 스크립트 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/bin/sh
# 구동중인 cubrid 프로세스가 없다면
if [ `ps -ef | grep cub_ | grep -v "grep" | wc -l` -eq 0 ]; then
echo -e "++ cubrid process is not running."
# 구동중인 cubrid 프로세스가 있다면 cubrid service 중지 후 cubrid service 상태 출력
else
cubrid service stop
echo -e "\n---------- CUBRID service status ----------"
sleep 1
cubrid service status
echo "@ cubrid process status"
# cubrid 프로세스가 1개 이상이면
if [ `ps -ef | grep cub_ | grep -v "grep" | wc -l` -ge 1 ]; then
echo -e "++ $(ps -ef | grep "cub_" | grep -v grep)"
else
echo -e "++ cubrid process is not running."
fi
fi
|
cs |
cubrid_server_stop.sh : 서버 종료 스크립트 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #!/bin/sh # DB 수 카운트 DB_Count=`cat $CUBRID/databases/databases.txt | awk '{print $1|' | grep -v "#" | grep -v -e '^$' | wc -l` # DB가 1개 일 경우 if [ ${DB_Count} -eq 1 ]; then # DB명 저장 db_name=`cat $CUBRID/databases/databases.txt | awk '{print $1|' | grep -v "#" | grep -v -e '^$'` # cubrid가 ha db 이면 if [ `cat $CUBRID/conf/cubrid_ha.conf | grep "ha_db_list=" | grep "${db_name}" | grep -v "#" | grep -v -e '^$' | wc -l` -eq 1 ]; then # heartbeat가 구동되어 있다면 heartbeat 중지 if [ `cat $CUBRID/conf.cubrid.conf | grep "service=" | grep "heartbeat" | grep -v "#" | grep -v -e '^$' | wc -l` -eq 0 ]; then cubrid heartbeat stop else echo -e "\n @++ cubrid.conf file has -- service=heartbeat -- settings. Use the cubrid_service_stop.sh command.\n" fi echo -e "\n ---------- CUBRID service status ----------" sleep 1 cubrid service status else # cubrid server 중지 cubrid server stop ${db_name} echo -e "\n ---------- CUBRID service status ----------" sleep 1 cubrid service status fi # DB가 2개 이상일 경우 elif [ ${DB_Count} -ge 2 ]; then # DB 목록 저장 DB_List=`cat $CUBRID/databases/databases.txt | awk '{print $1}' | grep -v "#" | tr "\n" "\t"` # DB 리스트를 보여주고 DB명을 입력 받아 저장 echo -e "\nInput CUBRID Database Name." echo -e "DB List : ${DB_List}\n " read -p " [ CUBRID Database Name ] : " ID # cubrid 프로세스 수 저장 CUB_SERVER=`ps -ef | grep "${ID}" | grep cub_server | grep -v "grep" | wc -l` # cubrid 프로세스가 없다면 DB 리스트를 다시 보여줌 if [[ $ID == "" ]]; then echo -e "\nSpace or Enter is not allowed..." echo -e "DB List : ${DB_List}\n " echo -e "++ Please try again after verifying the database name.\n" exit; # cubrid가 ha db이면 elif [ `cat $CUBRID/conf/cubrid_ha.conf | grep "ha_db_list=" | grep "${ID}" | grep -v "#" | grep -v -e '^$' | wc -l` -eq 1 ]; then # cubrid 프로세스가 1개 이상이면 heartbeat 중지, 서비스 상태 출력 if [ ${CUB_SERVER} -ge 1 ]; then cubrid heartbeat stop ${ID} else echo -e "\n@++ CUBRID HA-Mode ${ID} Server is not running.\n" fi echo -e "\n ---------- CUBRID service status ----------" sleep 1 cubrid service status # cubrid 프로세스가 1개 이상이면 elif [ ${CUB_SERVER} -ge 1 ]; then # cubrid 서버 중지, 서비스 상태 출력 cubrid server stop ${ID} echo -e "\n ---------- CUBRID service status ----------" sleep 1 cubrid service status else echo -e "\n@++ CUBRID${ID} Server is not running.\n" fi else if [ `ps -ef | grep cub_server | grep -v "grep" | wc -l` -eq 0 ]; then echo -e "\n@++ CUBRID Server is not running.\n" else ehco -e "\n ---------- Impossible to stop. Please stop it manually. ----------\n" fi fi | cs |
반응형
'IT 이야기 > Script' 카테고리의 다른 글
JBoss EAP 스크립트로 배우는 스크립트 (0) | 2020.05.28 |
---|---|
[Script] History 스크립트로 배우는 스크립트 (0) | 2020.05.04 |
Apache 스크립트로 배우는 스크립트 (0) | 2020.03.11 |
댓글