
如何在 Ubuntu 系統中設置定期備份 MySQL 資料庫並且同步到 Amazon S3 ?
前言
最近設置了一個新的部落格,但我尚未設定定期備份資料庫。如果主機出現問題,我的所有資料都可能會消失。這是一個巨大的風險,因此這邊紀錄一下我設定的步驟。
步驟 1: 安裝 AWS CLI 工具
因為會同步至 Amazon S3 ,所以這邊先安裝 AWS CLI 工具,方便將檔案上傳至 S3 空間
- 安裝 AWS CLI 工具。你可以參考 AWS 官方文檔進行安裝
- 配置 AWS CLI 工具,使用
aws configure命令,輸入你的 AWS 存取金鑰、區域等信息。
步驟 2: 建立備份腳本
在你的 Ubuntu 伺服器上建立一個 shell 腳本,用於執行 MySQL 備份並將其上傳至 S3。
#!/bin/bash
# 定義 MySQL 連接參數
DB_USER="your_mysql_username"
DB_PASS="your_mysql_password"
DB_NAME="your_database_name"
# 定義備份文件名稱
DATE=$(date +%Y%m%d-%H%M%S)
BACKUP_FILE="/path/to/backup/directory/backup-$DATE.sql"
# 備份 MySQL 資料庫
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE
# 上傳至 Amazon S3
aws s3 cp $BACKUP_FILE s3://your-s3-bucket-name/
請替換腳本中的
your_mysql_username
your_mysql_password
your_database_name
/path/to/backup/directory 和 your-s3-bucket-name
為你的 MySQL 連接資訊、本地備份目錄和 S3 存儲桶名稱。
步驟 3: 設置定期任務
使用 crontab 設置定期執行備份腳本。
- 打開 crontab 編輯器:
crontab -e - 在文件末尾添加以下行,用於每天定時執行備份腳本:
0 0 * * * /bin/bash /path/to/your/backup/script.sh
這樣將會在每天的午夜 12 點執行備份。
注意事項:
- 請確保腳本的執行權限是可執行的:
chmod +x /path/to/your/backup/script.sh - 請確保 AWS CLI 配置了正確的存取權限,以便於上傳至 S3。
- 建議設置定期備份以確保資料的安全性,可以根據需求調整 crontab 中的時間。
完成上述步驟後,你的 MySQL 資料庫就會定期備份並上傳至 Amazon S3 存儲桶。