소스 검색

Remove mongodb when appropriate

Bob Mottram 7 년 전
부모
커밋
e500a0de3b
2개의 변경된 파일39개의 추가작업 그리고 1개의 파일을 삭제
  1. 4
    1
      src/freedombone-app-smilodon
  2. 35
    0
      src/freedombone-utils-mongodb

+ 4
- 1
src/freedombone-app-smilodon 파일 보기

@@ -256,6 +256,9 @@ function remove_smilodon {
256 256
     function_check drop_database_mongodb
257 257
     drop_database_mongodb smilodon
258 258
 
259
+    function_check remove_mongodb
260
+    remove_mongodb smilodon
261
+
259 262
     remove_completion_param install_smilodon
260 263
     sed -i '/smilodon_/d' $COMPLETION_FILE
261 264
 }
@@ -289,7 +292,7 @@ function install_smilodon {
289 292
     useradd -c "Smilodon system account" -d $SMILODON_PATH -m -r -g smilodon smilodon
290 293
 
291 294
     function_check install_mongodb
292
-    install_mongodb
295
+    install_mongodb smilodon
293 296
 
294 297
     smilodon_create_database
295 298
 

+ 35
- 0
src/freedombone-utils-mongodb 파일 보기

@@ -30,6 +30,7 @@
30 30
 
31 31
 # Set this when calling backup and restore commands
32 32
 USE_MONGODB=
33
+MONGODB_APPS_FILE=/root/.mongodbapps
33 34
 
34 35
 function store_original_mongodb_password {
35 36
     if [ ! -f /root/.mongodboriginal ]; then
@@ -49,6 +50,8 @@ function get_mongodb_password {
49 50
 }
50 51
 
51 52
 function install_mongodb {
53
+    app_name=$1
54
+
52 55
     if [[ "$(uname -a)" == *"armv7"* ]]; then
53 56
         echo $'mongodb package is not available for arm 7 architecture'
54 57
         exit 7356272
@@ -81,9 +84,41 @@ function install_mongodb {
81 84
         exit 78352
82 85
     fi
83 86
 
87
+    if [ $app_name ]; then
88
+        if ! grep -q "$app_name" $MONGODB_APPS_FILE; then
89
+           echo "$app_name" >> $MONGODB_APPS_FILE
90
+        fi
91
+    fi
92
+
84 93
     mark_completed $FUNCNAME
85 94
 }
86 95
 
96
+function remove_mongodb {
97
+    app_name=$1
98
+
99
+    if [ ! $app_name ]; then
100
+        return
101
+    fi
102
+
103
+    removemongo=
104
+    if [ -f $MONGODB_APPS_FILE ]; then
105
+        sed -i "/$app_name/d" $MONGODB_APPS_FILE
106
+        mongoapps=$(cat $MONGODB_APPS_FILE)
107
+        if [ ${#mongoapps} -lt 3 ]; then
108
+            removemongo=1
109
+        fi
110
+    else
111
+        removemongo=1
112
+    fi
113
+
114
+    if [ $removemongo ]; then
115
+        apt-get -yq remove mongodb mongo-tools
116
+        if [ -d /var/lib/mongodb ]; then
117
+            rm -rf /var/lib/mongodb
118
+        fi
119
+    fi
120
+}
121
+
87 122
 function add_mongodb_user {
88 123
     mongodb_username=$1
89 124
     mongodb_password=$2