mongodb_export/run.sh

83 lines
1.3 KiB
Bash
Raw Permalink Normal View History

2017-08-01 14:07:00 +02:00
#!/bin/bash
2017-08-02 15:28:34 +02:00
VER=1.2
2017-08-01 14:07:00 +02:00
MONGODB="secondary.mongod.service.mail:27017"
DATAPATH="/opt/WORK/PROJECTS/New_Mail/mongodb_export"
NAME="mtools"
DB="lastlogin"
2017-08-01 14:07:00 +02:00
opt()
{
case "$1" in
-d)
shift
DATE=$1
shift
opt $*
;;
-n)
shift
NAME=$1
shift
opt $*
;;
-h)
shift
MONGODB=$1
shift
opt $*
;;
-db)
shift
DB=$1
shift
opt $*
;;
-pwd)
shift
DATAPATH=${PWD}
opt $*
;;
2017-08-01 14:07:00 +02:00
esac
}
if [ -n "$1" ]
then
opt $*
fi
if [ -z "${DATE}" ]
then
2017-08-01 14:07:00 +02:00
DATE=$(date -d "yesterday" +%Y%m%d)
fi
2017-08-01 14:07:00 +02:00
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}T00:00:00Z\")}}"
FNAME=$(date -d "${DATE}" +%y%m%d)
CNAME=$(date -d "${DATE}" +%y%m)
if [ ! -d "${DATAPATH}/${DB}/${CNAME}" ]; then
mkdir -p ${DATAPATH}/${DB}/${CNAME}
fi
2017-08-01 14:07:00 +02:00
docker run \
--rm \
-it \
-h mtools \
--name ${NAME} \
-v ${DATAPATH}:/data \
mikif70/mongotools:3.4.5 mongoexport \
--host "${MONGODB}" \
--db $DB \
2017-08-01 14:07:00 +02:00
--collection "lastlogin_${CNAME}" \
--type "csv" \
--fields "_id,user,protocol,ip,date,insert,country" \
--query "${QUERY}" \
--readPreference "secondary" \
--out "/data/${DB}/${CNAME}/ll_${FNAME}.csv"