added backup script
This commit is contained in:
parent
806d5f0a6a
commit
ee55ecd2f2
2 changed files with 83 additions and 2 deletions
80
backup.sh
Normal file
80
backup.sh
Normal file
|
@ -0,0 +1,80 @@
|
|||
#!/bin/bash
|
||||
|
||||
MONGODB="secondary.mongod.service.mail:27017"
|
||||
DATAPATH="/mnt/mongobck/NEW_EXPORT"
|
||||
|
||||
NAME="mtools"
|
||||
DB="lastlogin"
|
||||
|
||||
opt()
|
||||
{
|
||||
case "$1" in
|
||||
-d)
|
||||
shift
|
||||
DATE=$1
|
||||
shift
|
||||
opt $*
|
||||
;;
|
||||
-n)
|
||||
shift
|
||||
NAME=$1
|
||||
shift
|
||||
opt $*
|
||||
;;
|
||||
-db)
|
||||
shift
|
||||
DB=$1
|
||||
shift
|
||||
opt $*
|
||||
;;
|
||||
-pwd)
|
||||
shift
|
||||
DATAPATH=${PWD}
|
||||
shift
|
||||
opt $*
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
echo "Running... $(date)"
|
||||
|
||||
if [ -n "$1" ]
|
||||
then
|
||||
opt $*
|
||||
fi
|
||||
|
||||
echo "Opts: DB-$DB DATE-$DATE"
|
||||
|
||||
if [ -z "${DATE}" ]
|
||||
then
|
||||
DATE=$(date -d "yesterday" +%Y%m%d)
|
||||
fi
|
||||
|
||||
YDAY=$(date -d "${DATE}" +%Y-%m-%d)
|
||||
TODAY=$(date -d "${DATE} + 1 day" +%Y-%m-%d)
|
||||
QUERY="{date: {\$gte: ISODate(\"${YDAY}T00:00:00Z\"), \$lt: ISODate(\"${TODAY}T0
|
||||
0:00:00Z\")}}"
|
||||
|
||||
FNAME=$(date -d "${DATE}" +%y%m%d)
|
||||
CNAME=$(date -d "${DATE}" +%y%m)
|
||||
|
||||
echo "Query: ${QUERY}"
|
||||
|
||||
if [ ! -d "${DATAPATH}/${DB}/${CNAME}" ]; then
|
||||
mkdir -p ${DATAPATH}/${DB}/${CNAME}
|
||||
fi
|
||||
|
||||
/usr/bin/docker run \
|
||||
--rm \
|
||||
-h mtools \
|
||||
--name ${NAME} \
|
||||
-v ${DATAPATH}:/data \
|
||||
mikif70/mongotools:3.4.5 mongoexport \
|
||||
--host "${MONGODB}" \
|
||||
--db $DB \
|
||||
--collection "lastlogin_${CNAME}" \
|
||||
--type "csv" \
|
||||
--fields "_id,user,protocol,ip,date,insert,country" \
|
||||
--query "${QUERY}" \
|
||||
--readPreference "secondary" \
|
||||
--out "/data/${DB}/${CNAME}/ll_${FNAME}.csv"
|
|
@ -1,7 +1,8 @@
|
|||
var db = connect("192.168.0.1:27017/lastlogin");
|
||||
//var conn = new Mongo("192.168.0.1");
|
||||
//var db = conn.getDB("lastlogin");
|
||||
var dd = function(x) { if(x==0){x++}; var s = x.toString(); if(s.length > 1){return s;} else { return "0"+s;}}
|
||||
var dd = function(x) { var s = x.toString(); if(s.length > 1){return s;} else { return "0"+s;}}
|
||||
var now = new Date();
|
||||
var col = now.getFullYear() + dd(now.getMonth()) + dd(now.getDate())
|
||||
var col = now.getFullYear() + dd(now.getMonth()+1) + dd(now.getDate())
|
||||
print("creating index: ll_"col.slice(2));
|
||||
db.getCollection("ll_"+col.slice(2)).createIndexes([{"date": 1},{"country": 1},{"user": 1,"date": -1}])
|
Loading…
Add table
Reference in a new issue