데이터 베이스 MySQL 튜토리얼 Linux上从mongoDB中定时导出数据脚本

Linux上从mongoDB中定时导出数据脚本

Jun 07, 2016 pm 05:06 PM
mongodb

目标:编写一个shell脚本,以便能够将mongoDb中的数据导出成为csv格式的文件。要求:1. 为了避免导出巨量数据,仅需要过滤出当月

目标:编写一个shell脚本,,以便能够将mongoDb中的数据导出成为csv格式的文件。

要求:

1. 为了避免导出巨量数据,仅需要过滤出当月数据和上个月的数据即可。

2. 由于当天的数据是不完整的,所以需要排除当天的数据

以下是一个例子

--------------------------------------------------------------------------

#!/bin/bash

#创建保存目录

mypath=micAnalyDir/`date +%Y/%m%d`

mkdir -p $mypath


#计算过滤时间

baseDate=`date --date '1 months ago' +'%m/01/%Y'`

echo $baseDate

declare -i baseTime

baseTime=$((`date --date "$baseDate" +"%s"` * 1000))


#导出指定数据表中的数据

function exportData() {

   exportCmd="/kingdee/mongodb/bin/mongoexport --csv"

   if [ $# -gt 3 ]; then

#这里要注意baseTime和endTime不能加引号,否则会报错

        $exportCmd -d $1 -c $2 -f $3 -q \

 "{\"$4\":{\"\$gte\":{\"\$date\":$baseTime}, \

        \"\$lt\":{\"\$date\":$endTime}}}" -o $mypath/$2.csv

   else

        $exportCmd -d $1 -c $2 -f $3 -o $mypath/$2.csv

   fi

}


#导出第一张表的所有数据

echo export data from $baseDate

echo 'export ossDev.T_User'

fields="_id,email,registerDate,photoId"

exportData "ossDev" "T_User" $fields


#导出第二张表的sendTime为当月和上月的数据

echo 'export snsDev.T_Comment'

fields="_id,del,from,mbId,mbOwner,nwId,ownerId,sendTime"

exportData "snsDev" "T_Comment" $fields "sendTime"

----------------------------------------------------------------------------

保存为.sh文件后使用 chmod +x 将该脚本设置为可执行,然后使用crontab命令将脚本加到定时任务当中

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

mongodb에는 일반적으로 어떤 버전이 사용됩니까? mongodb에는 일반적으로 어떤 버전이 사용됩니까? Apr 07, 2024 pm 05:48 PM

mongodb에는 일반적으로 어떤 버전이 사용됩니까?

nodejs와 vuejs의 차이점 nodejs와 vuejs의 차이점 Apr 21, 2024 am 04:17 AM

nodejs와 vuejs의 차이점

MongoDB를 활용한 실시간 추천 시스템 구현 경험 공유 MongoDB를 활용한 실시간 추천 시스템 구현 경험 공유 Nov 03, 2023 pm 04:37 PM

MongoDB를 활용한 실시간 추천 시스템 구현 경험 공유

mongodb 데이터베이스의 장점은 무엇입니까? mongodb 데이터베이스의 장점은 무엇입니까? Apr 07, 2024 pm 05:21 PM

mongodb 데이터베이스의 장점은 무엇입니까?

mongodb가 생성한 데이터베이스는 어디에 있나요? mongodb가 생성한 데이터베이스는 어디에 있나요? Apr 07, 2024 pm 05:39 PM

mongodb가 생성한 데이터베이스는 어디에 있나요?

몽고디비는 무슨 뜻인가요? 몽고디비는 무슨 뜻인가요? Apr 07, 2024 pm 05:57 PM

몽고디비는 무슨 뜻인가요?

mongodb 데이터베이스 파일은 어디에 있나요? mongodb 데이터베이스 파일은 어디에 있나요? Apr 07, 2024 pm 05:42 PM

mongodb 데이터베이스 파일은 어디에 있나요?

몽고디비를 여는 방법 몽고디비를 여는 방법 Apr 07, 2024 pm 06:15 PM

몽고디비를 여는 방법

See all articles