sh 使用Crontab和Amazon EC2上的s3cmd.Red Hat Linux对Amazon S3进行MongoDB自动备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 使用Crontab和Amazon EC2上的s3cmd.Red Hat Linux对Amazon S3进行MongoDB自动备份相关的知识,希望对你有一定的参考价值。

sudo yum --enablerepo epel install s3cmd

#to configure s3cmd
s3cmd --configure
#every day at 01h 00m
00 01 * * * /bin/bash /home/ec2-user/mongodb_to_s3_backup.sh
#!/bin/bash
 
#Force file syncronization and lock writes
mongo admin --eval "printjson(db.fsyncLock())"
 
MONGODUMP_PATH="/usr/bin/mongodump"
MONGO_HOST="prod.example.com"
MONGO_PORT="27017"
MONGO_DATABASE="dbname"
 
TIMESTAMP=`date +%F-%H%M`
S3_BUCKET_NAME="bucketname"
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())"

以上是关于sh 使用Crontab和Amazon EC2上的s3cmd.Red Hat Linux对Amazon S3进行MongoDB自动备份的主要内容,如果未能解决你的问题,请参考以下文章

在 amazon ec2 cloud(Linux 服务器)上设置 crontab

如何自动对 Amazon EC2 实例的卷进行快照?

sh 如何在Amazon Linux(EC2)上编译ffmpeg

sh ec2-get-tag函数,用于在Amazon EC2中检索标记值

使用 FCM 解析部署在 Amazon EC2 Android 通知上的服务器

Amazon Linux EC2 实例上的 uWSGI 安装异常