1
1
#! /bin/bash
2
2
#
3
3
# MongoDB Backup Tool
4
- # Copyright (c) 2017 Alexey Baikov <sysboss[@]mail.ru>
4
+ # Copyright (c) 2018 Alexey Baikov <sysboss[@]mail.ru>
5
5
#
6
6
# Description: Backing up MongoDB to S3 Bucket
7
7
# GitHub: https://github.com/sysboss/mongodb_backup
38
38
function usage {
39
39
cat << EOF
40
40
MongoDB Backup Tool
41
- Copyright (c) 2017 Alexey Baikov <sysboss[@]mail.ru>
41
+ Copyright (c) 2018 Alexey Baikov <sysboss[@]mail.ru>
42
42
43
43
usage: $0 options
44
44
@@ -132,7 +132,7 @@ function log {
132
132
local lvl=${2:- " INFO" }
133
133
134
134
if ! which printf > /dev/null; then
135
- echo " $( getDateTime) $lvl $msg " # | tee -a ${LOGFILE}
135
+ echo " $( getDateTime) $lvl $msg " # | tee -a ${LOGFILE}
136
136
else
137
137
printf " %15s %5s %s\n" " $( getDateTime) " " $lvl " " $msg "
138
138
fi
@@ -141,10 +141,6 @@ function log {
141
141
function cleanup {
142
142
local lvl=$1
143
143
144
- # unlock database writes
145
- runCommand mongo admin --eval " printjson(db.fsyncUnlock())"
146
- log " Database is unlocked"
147
-
148
144
# release lock
149
145
unlock
150
146
@@ -166,6 +162,9 @@ function cleanup {
166
162
167
163
# report, on error/abortion
168
164
if [ " $lvl " != " " ]; then
165
+ # unlock database writes
166
+ runCommand mongo admin --eval " printjson(db.fsyncUnlock())"
167
+ log " Database is unlocked"
169
168
log " Aborting backup" " $lvl "
170
169
exit 2
171
170
fi
@@ -228,6 +227,10 @@ else
228
227
mongodump -h $MONGO_HOST :$MONGO_PORT -o ${DUMPFILE}
229
228
fi
230
229
230
+ # unlock database writes
231
+ runCommand mongo admin --eval " printjson(db.fsyncUnlock())"
232
+ log " Database is unlocked"
233
+
231
234
log " Creating compressed archive of backup directory"
232
235
tar -zcf " ${DUMPFILE} .tar.gz" -C " ${BACKUP_DIR} /" .
233
236
0 commit comments