使用 s3cmd。

#!/bin/sh

DATE="`date +%Y%m%d`"
YES="`date -d yesterday +%Y%m%d`"
EXPDIR=${HOME}/mongoexport
MONGOEXPORT=`which mongoexport`

{ mkdir -p ${EXPDIR} && cd ${EXPDIR}; } || exit 1

DBC1="BackendCollection"
DBC2="BackEnd"
DBC3="History"

nice -n 10 $MONGOEXPORT -h mongo -d Test -c $DBC1 -q "{'Date': '${YES}'}" -o ${DBC1}.${DATE}.json || exit 2
nice -n 10 $MONGOEXPORT -h mongo -d Test -c $DBC2 -q "{'Date': '${YES}'}" -o ${DBC2}.${DATE}.json || exit 2
nice -n 10 $MONGOEXPORT -h mongo -d Test -c $DBC3 -q "{'Date': '${YES}'}" -o ${DBC3}.${DATE}.json || exit 2

#nice -n 10 $MONGOEXPORT -h mongo -d Test -c $DBC1 -o ${DBC1}.${DATE}.json || exit 2
#nice -n 10 $MONGOEXPORT -h mongo -d Test -c $DBC2 -o ${DBC2}.${DATE}.json || exit 2
#nice -n 10 $MONGOEXPORT -h mongo -d Test -c $DBC3 -o ${DBC3}.${DATE}.json || exit 2

S3CMD=`which s3cmd`

S3URL="s3://test/Test-mongo/"

TARFILE="Test.${DATE}.tar.bz2"

nice -n 19 tar jcvf $TARFILE *.${DATE}.json && $S3CMD --add-header=x-amz-server-side-encryption:AES256 put $TARFILE $S3URL
rm -rf $EXPDIR

flyfox 發表在 痞客邦 PIXNET 留言(0) 人氣()