Python 创建mongodb备份并上传到amazon s3

Python 创建mongodb备份并上传到amazon s3,python,mongodb,shell,amazon-s3,backup,Python,Mongodb,Shell,Amazon S3,Backup,我试图创建MongoDB备份并将其上传到AmazonS3。这是我的剧本 #!/bin/bash #Force file syncronization and lock writes mongo admin --eval "printjson(db.fsyncLock())" MONGODUMP_PATH="/home/ubuntu/backup/mongodb" MONGO_HOST="122.248.238.32" MONGO_PORT="27017" MONGO_DATABASE="

我试图创建MongoDB备份并将其上传到AmazonS3。这是我的剧本

#!/bin/bash  
#Force file syncronization and lock writes

mongo admin --eval "printjson(db.fsyncLock())"

MONGODUMP_PATH="/home/ubuntu/backup/mongodb"
MONGO_HOST="122.248.238.32"
MONGO_PORT="27017"
MONGO_DATABASE="eb"

TIMESTAMP=`date +%F-%H%M`
S3_BUCKET_NAME="MongodbBackup"
S3_BUCKET_PATH="mongodb-backups"


# Create backup
$MONGODUMP_PATH -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE

# Add timestamp to backup
mv dump mongodb-$HOSTNAME-$TIMESTAMP
tar cf mongodb-$HOSTNAME-$TIMESTAMP.tar mongodb-$HOSTNAME-$TIMESTAMP

# Upload to S3
s3cmd put mongodb-$HOSTNAME-$TIMESTAMP.tar s3://$S3_BUCKET_NAME/$S3_BUCKET_PATH/mongodb-$HOSTNAME-$TIMESTAMP.tar


#Unlock databases writes
mongo admin --eval "printjson(db.fsyncUnlock())"
当我运行这个脚本时,我得到的响应如下

MongoDB shell version: 2.4.6
connecting to: admin
{
    "info" : "now locked against writes, use db.fsyncUnlock() to unlock",
    "seeAlso" : "http://dochub.mongodb.org/core/fsynccommand",
    "ok" : 1
}
mv: cannot stat `dump': No such file or directory
tar: mongodb-ip-10-145-167-183-2014-06-02-1055: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
WARNING: Module python-magic is not available. Guessing MIME types based on file extensions.
mongodb-ip-10-145-167-183-2014-06-02-1055.tar -> s3://MongodbBackup/mongodb-backups/mongodb-ip-10-145-167-183-2014-06-02-1055.tar  [1 of 1]
 10240 of 10240   100% in    1s     9.55 kB/s  done
MongoDB shell version: 2.4.6
connecting to: admin
{ "ok" : 1, "info" : "unlock completed" }
如何创建备份并正确上载到s3?

替换

$MONGODUMP_PATH -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE


在上传到S3之前不要锁定数据库。您应该在转储完成后立即解锁
cd $MONGODUMP_PATH
mongodump -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE