#!/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 "ll_${FNAME}" \ --type "csv" \ --fields "_id,user,protocol,ip,date,insert,country" \ --query "${QUERY}" \ --readPreference "secondary" \ --out "/data/${DB}/${CNAME}/ll_${FNAME}.csv"