centos系統下docker數據備份與恢復方法詳解
本文介紹幾種在centos系統中利用docker進行數據備份和恢復的實用方法,涵蓋mongodb數據庫和文件/目錄的備份與恢復。 所有操作前請確保擁有相應權限,并建議在業務低峰期進行操作,以最大限度地減少對系統的影響。
方法一:使用mongodump和mongorestore備份與恢復MongoDB數據庫
此方法適用于MongoDB數據庫的備份與恢復。
-
備份:
- 進入MongoDB容器:docker exec -it mongo /bin/bash
- 執行備份命令:mongodump -h 127.0.0.1:27017 -u -p -d -o /dump (請替換、和為您的實際值)
- 壓縮備份文件:tar -zcvf test.tar.gz /dump
- 退出容器:exit
- 將備份文件復制到宿主機:docker cp mongo:/dump/test.tar.gz /mnt/docker-data/mongo/dump (請確保/mnt/docker-data/mongo/dump目錄存在)
-
恢復:
- 將備份文件復制到容器:docker cp /mnt/docker-data/mongo/dump/test.tar.gz mongo:/dump
- 進入容器:docker exec -it mongo /bin/bash
- 進入備份目錄:cd /dump
- 解壓備份文件:tar -xzvf test.tar.gz
- 執行恢復命令:mongorestore -h 127.0.0.1:27017 -d –dir /dump -u -p (請替換、和為您的實際值)
方法二:使用Docker數據卷容器備份與恢復
此方法適用于備份和恢復Docker容器中的數據卷。
-
備份:
- 創建數據卷容器:docker run –name data-volume -itd –volumes-from centos /bin/bash (請替換為您的容器名稱)
- 在容器內創建備份文件(例如:touch lucky.txt)。 這只是示例,實際操作中需要根據您的數據進行調整。
- 退出容器并復制備份文件到宿主機:docker cp data-volume:/lucky.txt /backup (請確保/backup目錄存在)
-
恢復:
- 創建新的容器并掛載數據卷:docker run –name restore-container –volumes-from data-volume -itd centos /bin/bash
- 將備份文件復制到容器:docker cp /backup/lucky.txt restore-container:/lucky.txt
方法三:使用tar命令備份與恢復文件或目錄
此方法適用于備份和恢復文件或目錄。
-
備份:
-
創建備份目錄:sudo mkdir /backup
-
創建備份腳本(例如/path/to/backup.sh):
#!/bin/bash tar cvf /backup/backup.tar /path/to/backup
-
設置腳本為可執行:chmod +x /path/to/backup.sh
-
使用crontab設置定時任務(編輯/etc/crontab或使用crontab -e): 這部分需要根據您的需求設置定時任務。
-
恢復:
- 解壓備份文件到指定位置:tar xvf /backup/backup.tar -C /path/to/restore
重要提示: 以上所有方法都需要替換占位符為您的實際值。 請務必仔細檢查命令和路徑,避免數據丟失。 此外,建議定期測試備份和恢復流程,確保其有效性。 為了數據安全,請考慮將備份數據存儲到安全的外部存儲設備或云存儲服務中。