目标:编写一个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 $baseDatedeclare -i baseTimebaseTime=$((`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 $baseDateecho "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命令将脚本加到定时任务当中如何在Jboss中配置数据源Fedora 15下MySQL乱码问题解决相关资讯 MongoDB - MongoDB 3.3.0 发布下载 (01月14日)
- 使用MongoDB C#官方驱动操作 (12/31/2015 16:27:56)
- CentOS 6.6下安装MongoDB 3.0.1 (12/21/2015 19:29:02)
| - MongoDB 3.2版WiredTiger存储引擎 (01月02日)
- 进程监控工具Supervisor 启动 (12/26/2015 10:49:57)
- MongoDB 3.2.1 RC0 发布下载 (12/18/2015 11:32:29)
|
本文评论 查看全部评论 (0)