-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathmongo_bkp.sh
executable file
·42 lines (41 loc) · 1.23 KB
/
mongo_bkp.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
#!/bin/bash
NOW=$(date +"%Y-%m-%d_%H-%M-%S_%z")
Y=$(date +"%Y")
M=$(date +"%m")
D=$(date +"%d")
BASENAME=$1
MONGODB_HOST=$2
MONGODB_PORT=$3
MONGODB_USER=$4
MONGODB_PASS=$5
STASH_DIR=$6
WORK_DIR=$7
STASH_DIR=$STASH_DIR/$BASENAME/$Y/$M/$D
FILENAME="$BASENAME-$NOW"
echo "******************************************************************************"
echo "BEGIN: $NOW"
echo "------------------------------------------------------------------------------"
cd $WORK_DIR
echo "ENTERING WORK DIR $WORK_DIR"
mkdir -p $STASH_DIR
echo "CREATED STASH DIR $STASH_DIR"
echo "CREATING MONGO DUMP DIR $FILENAME"
mkdir -p $FILENAME
cd $FILENAME
echo "CREATING MONGO DUMP... `date`"
mongodump -h $MONGODB_HOST:$MONGODB_PORT -u $MONGODB_USER -p $MONGODB_PASS
echo "MONGO DUMP CREATED `date`"
cd ..
echo "CREATING FILE..."
tar zcf $FILENAME.tar.gz $FILENAME
echo "FILE CREATED $FILENAME.tar.gz"
mv $FILENAME.tar.gz $STASH_DIR/
echo "FILE MOVED TO $STASH_DIR"
echo "CLEANING $FILENAME..."
rm -rf $FILENAME
echo "$FILENAME CLEANED"
echo "------------------------------------------------------------------------------"
END=$(date +"%Y-%m-%d_%H-%M-%S_%z")
echo "BEGIN: $NOW"
echo " END: $END"
echo "******************************************************************************"