# Mongo DB 備份 ## 目的 1. 可以在不同 region 中備份 Mongo DB 2. 備份資料可以存放到 FIBO ## 使用方式 * 使用 Docker image dcasenv.order.backup:v1.0.0 執行備份 * 需在 host crontab -e 執行容器內 ```/usr/local/bin/backupToFiBo.sh``` * 會將備份資料傳至 FiBo * 用 -itd 啟動 ```shell= docker run -itd --name dcasenv.order.backup \ -e AWS_ACCESS_KEY_ID='XA2923FLNGMD9P' \ -e AWS_SECRET_ACCESS_KEY='3eCtJ1vRb4uAXgRqiRUrcyJQEzA' \ -e MONGO_DB_HOST=172.17.0.2 \ -e ENDPOINT_URL=http://fibo.lh-3.jadecloud.local \ -e S3_BUCKET=database-backup \ -e S3_PATH=dbBackup \ -e DATABASE=fixo \ -e USER_NAME=fixo \ -e PASSWORD=foxconn168 \ -e MAX_BACKUPS=10 \ -e FIBO_MAX_BACKUPS=90 \ --add-host=fibo.lh-3.jadecloud.local:10.134.202.251 \ 10.62.163.20:5000/fixoweb/dcasenv.order.backup:v1.0.0 ``` * 啟用排程備份 crontab -e 執行下面指令 ```bash= 0 2 * * * docker exec -t dcasenv.order.backup /bin/bash /usr/local/bin/backupToFiBo.sh >> /home/centos/order/log/backup-log.txt ``` * 參數說明 * ```AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY```: S3密鑰對 * ```S3_BUCKET```: 放置備份檔的 FiBo bucket * ```S3_PATH```: 放置備份檔bucket下的路徑 * ```USER_NAME, PASSWORD```: 若無設定帳密直接留空 * ```MAX_BACKUPS```: 在 container 中留下最多備份數,如果沒設定將不在本地存留備份 * ```FIBO_MAX_BACKUPS```: 在 FIBO 中留下最多備份數,如果沒設定將不刪除 FIBO 中的備份 * ```--add-host```: 需解析 FIBO 網域 ## 為何使用 docker 備份 * 考慮多個環境中沒有支援 Mongo DB 備份指令,與 AWS CLI,使用 Docker 可以減少環境架設複雜度。 ## Image 做法 1. 安裝 AWS Cli 3. 加入 Mongo tool 4. 加入 script * 用 ```mongodump``` 將 MongoDB 備份 * 用```aws s3 cp``` 將備份檔案傳至 FIBO [[S3命令文件]](https://docs.aws.amazon.com/zh_tw/cli/latest/userguide/cli-services-s3-commands.html)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up