-
Notifications
You must be signed in to change notification settings - Fork 248
/
Copy pathbackup.mongodb.sh
33 lines (30 loc) · 992 Bytes
/
backup.mongodb.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
#!/bin/bash
###################################
# $Id: backup 379 2012-04-02 08:43:42Z netkiller $
# Author: netkiller@msn.com
# Home: http://www.netkiller.cn
###################################
#Number of copies
COPIES=30
###################################
BACKUP_HOST="localhost"
BACKUP_USER="admin"
BACKUP_PASS=""
BACKUP_DBNAME="dbname"
BACKUP_DIR=/opt/backup
####################################
DUMP="/usr/bin/mongodump"
LOGFILE=/var/tmp/backup.mongodb.log
#TIMEPOINT=$(date -u +%Y-%m-%d)
TIMEPOINT=$(date -u +%Y-%m-%d.%H:%M:%S)
DUMP_OPTS="-h $BACKUP_HOST -u$BACKUP_USER -p$BACKUP_PASS"
####################################
umask 0077
test ! -d "$BACKUP_DIR" && mkdir -p "$BACKUP_DIR"
test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0
for dbname in $BACKUP_DBNAME
do
test ! -d "$BACKUP_DIR/$dbname" && mkdir -p "$BACKUP_DIR/$dbname"
$DUMP $DUMP_OPTS -d $dbname -o $BACKUP_DIR/$TIMEPOINT >> $LOGFILE
done
find $BACKUP_DIR -type f -mtime +$COPIES -delete