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"
|
|
|
|
|
2017-08-02 11:18:11 +02:00
|
|
|
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 $*
|
|
|
|
;;
|
2017-08-02 11:18:11 +02:00
|
|
|
-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 $*
|
2017-08-02 11:18:11 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "${DATE}" ]
|
|
|
|
then
|
2017-08-01 14:07:00 +02:00
|
|
|
DATE=$(date -d "yesterday" +%Y%m%d)
|
|
|
|
fi
|
|
|
|
|
2017-08-02 11:18:11 +02:00
|
|
|
|
|
|
|
|
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)
|
2017-08-02 11:18:11 +02:00
|
|
|
|
|
|
|
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}" \
|
2017-08-02 11:18:11 +02:00
|
|
|
--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" \
|
2017-08-02 11:18:11 +02:00
|
|
|
--out "/data/${DB}/${CNAME}/ll_${FNAME}.csv"
|