win 批处理,导出 MongoDB 到 json 文件

1. call.bat

@echo off

REM **** TWO WAY TO USE THIS TOOLS                                                                   ****
REM **** WAY 1: call test.bat                                             [yestoday's data]          ****
REM **** WAY 2: call test.bat begin_date<yyyy-mm-dd> end_date<yyyy-mm-dd> [begin to end date's data] ****

call Call_MongoDB_Export.bat

exit

2. Call_MongoDB_Export.bat

@ECHO OFF

IF "%2"=="" GOTO SYSDATE


REM **** GET PARAMATER DATE ****
SET LDATE=%1
SET RDATE=%2
SET TDATE=%2
SET FDATE=%TDATE:~0,4%%TDATE:~5,2%%TDATE:~8,2%
GOTO RUN


REM **** GET SYSDATE ****
:SYSDATE

REM **** GET TODAY'S YEAR,MONTH,DAY ****
SET YEAR=%DATE:~0,4%
SET MONTH=%DATE:~5,2%
SET DAY=%DATE:~8,2%
IF %DATE:~5,1%==0 SET MONTH=%DATE:~6,1%
IF %DATE:~8,1%==0 SET DAY=%DATE:~9,1%

REM **** GET YESTODAY'S YEAR,MONTH,DAY ****
SET /A DAY=%DAY%-1
IF %DAY% EQU 0 SET /A MONTH=%MONTH%-1
IF %MONTH% EQU 0 (
    SET MONTH=12
    SET /A YEAR=%YEAR%-1
)
IF %DAY% EQU 0 (
    IF %MONTH% EQU 1 SET DAY=31
    IF %MONTH% EQU 3 SET DAY=31
    IF %MONTH% EQU 5 SET DAY=31
    IF %MONTH% EQU 7 SET DAY=31
    IF %MONTH% EQU 8 SET DAY=31
    IF %MONTH% EQU 10 SET DAY=31
    IF %MONTH% EQU 12 SET DAY=31
    IF %MONTH% EQU 4 SET DAY=30
    IF %MONTH% EQU 6 SET DAY=30
    IF %MONTH% EQU 9 SET DAY=30
    IF %MONTH% EQU 2 (
        SET DAY=28
        IF %YEAR% EQU 2016 SET DAY=29
        IF %YEAR% EQU 2020 SET DAY=29
        IF %YEAR% EQU 2024 SET DAY=29
    )
)

REM **** FORMAT DAY,MONTH ****
IF %DAY% LSS 10 SET DAY=0%DAY%
IF %MONTH% LSS 10 SET MONTH=0%MONTH%
SET LDATE=%YEAR%-%MONTH%-%DAY%
SET RDATE=%LDATE%
SET FDATE=%YEAR%%MONTH%%DAY%


REM **** EXPORT MONGODB ****
:RUN

SET EXP=CALL MongoDB_export.bat %LDATE% %RDATE% %FDATE%

%EXP% PU001
%EXP% PU002

3. MongoDB_Export.bat

@echo off

Rem D:\MongoDB\Server\3.2\bin\mongoexport -h repset/172.*.*.96:27017,172.*.*.97:27017,172.*.*.98:27017 -u username -p passwd --authenticationDatabase=admin -d dbname -c colname -q "{funcNo:'PU001','content.timestamp':{$gte:'2016-08-02',$lt:'2016-08-03'}}" -o D:\MongoDB_Export\PU001\PU001_20160803.json

set MongoEX=D:\MongoDB\Server\3.2\bin\mongoexport -h repset/172.*.*.96:27017,172.*.*.97:27017,172.*.*.98:27017 -u username -p passwd --authenticationDatabase=admin -d dbname -c colname -q

%MongoEX% "{funcNo:'%4','content.timestamp':{$gte:'%1',$lte:'%2 24:00:00'}}" -o D:\MongoDB_Export\%4\%4_%3.json

 

posted @ 2016-08-04 16:55  Lio5n  阅读(1862)  评论(0编辑  收藏  举报