服務器mysql數據的簡單備份腳本
一個小型項目mysql數據庫數據的定時備份
- 通過crontab定時執行腳本: 0 1 * * * /home/yuyu/mysqlbak.sh
- 備份文件加入時間戳,防止覆蓋
- 支持刪除超過x天的備份數據文件,防止備份數據文件太多
#!/bin/bash# 配置變量
DB_HOST="127.0.0.1" # 數據庫主機
DB_USER="root" # 數據庫用戶名
DB_PASS="xxxxxxx" # 數據庫密碼
DB_NAME="dbname" # 數據庫名稱
BACKUP_DIR="/app/sql" # 備份文件保存目錄
DATE=$(date +"%Y%m%d") # 當前日期(格式:YYYYMMDD)# 創建備份目錄(如果不存在)
mkdir -p $BACKUP_DIR# 備份文件名
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$DATE.sql"# 使用 mysqldump 備份數據庫
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE# 檢查備份是否成功
if [ $? -eq 0 ]; thenecho "數據庫備份成功:$BACKUP_FILE"
elseecho "數據庫備份失敗!"exit 1
fi# 刪除超過 7 天的備份文件,按自己需求調整
find $BACKUP_DIR -type f -name "$DB_NAME-*.sql" -mtime +7 -exec rm {} \;
echo "舊的備份文件已清理。"