首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux Crontab + mysqldump 實現 MySQL 定時自動備份

     編輯:MySQL 資料庫相關知識

利用系統 crontab 定時執行備份腳本,按日期歸檔,構建零成本自動化備份機制。

實施步驟

1. 建立備份目錄

mkdir /mysqldata

2. 建立備份腳本 /usr/sbin/bakMySQL

#!/bin/bash
rq=$(date +%Y%m%d)

# 方案一:直接打包數據目錄(需停庫或鎖表)
# tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql

# 方案二:mysqldump 邏輯備份(推薦,無需停庫)
mysqldump --all-databases -u root -pYourPassword > /mysqldata/mysql$rq.sql
# 壓縮節省空間
gzip /mysqldata/mysql$rq.sql

注意:/var/lib/mysql 為數據目錄,部分環境為 /usr/local/mysql/data,請按實際調整。

3. 賦予執行權限

chmod +x /usr/sbin/bakMySQL

4. 配置 Crontab 定時任務

vi /etc/crontab
# 每天凌晨 3 點執行
0 3 * * * root /usr/sbin/bakMySQL

5. 重啟 Cron 服務

/etc/rc.d/init.d/crond restart

關鍵提醒

  • 數據一致性:執行 tar 打包前務必停止 MySQL 或執行 FLUSH TABLES WITH READ LOCK,否則恢復時可能損壞。
  • mysqldump 邏輯備份無需停庫,支援單表、單庫、全庫彈性備份,生產環境首選。
  • 備份文件命名含日期(如 mysql20240619.sql.gz),便於留存與查找。
  • 定期驗證備份可恢復性,避免「備份成功、恢復失敗」的假安全感。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved