免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

用 Shell 腳本實現 MySQL 數據庫每日自動備份

:2025年05月16日 web攻防
分享到:

本文介紹了一種用 Shell 腳本自動備份 MySQL 數據庫的方法。文章詳細解釋了為什么要備份數據庫、備份思路、準備備份文件、編寫腳本文件和執行腳本等步驟,并提供了一步全注釋的 Shell 腳本示例。

本文帶你一步步動手用 Shell 腳本自動備份 MySQL 數據庫,即使你是剛入門的小白也能學會。從環境準備到腳本編寫到定時執行,保姆級講解!

一、為什么需要數據庫備份?

數據庫是 Web 應用的核心資產,一旦丟失,后果不堪設想。比如:

  • 博客數據沒了?

  • 訂單信息丟了?

  • 用戶賬號密碼沒了?

所以我們要定期備份,哪怕出了問題也能快速恢復。

二、備份思路與目標

我們希望:

  1. 每天自動執行一次備份

  2. 備份文件保存到 /home/backup/

  3. 文件名包含日期,如:mydb_2025-05-15.sql

  4. 自動壓縮為 .tar.gz 節省空間

  5. 保留最近 7 天的備份,自動清理舊文件

三、準備工作(一步不落)

檢查是否已安裝 mysqldump

bash

which mysqldump

如果輸出路徑如 /usr/bin/mysqldump,說明已安裝。

如果沒有,使用以下命令安裝(centos):

bash

sudo yum update

sudo yum install mysql-client

四、Shell 腳本編寫(全注釋)

創建腳本文件:

bash

nano /home/backup/mysql_backup.sh

粘貼以下內容

bash

#!/bin/bash

# 數據庫信息配置

DB_USER="root"          # 數據庫用戶名

DB_PASSWORD="123456"    # 數據庫密碼

DB_NAME="mydb"          # 數據庫名稱

# 備份保存路徑

BACKUP_DIR="/home/backup"

DATE=$(date +%F)

FILENAME="${DB_NAME}_${DATE}.sql"

TARFILE="${FILENAME}.tar.gz"

# 創建備份目錄(如果不存在)

mkdir -p "$BACKUP_DIR"

# 開始備份

echo "[$(date)] 開始備份數據庫 $DB_NAME ..."

mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > "$BACKUP_DIR/$FILENAME"

# 壓縮備份

tar -czf "$BACKUP_DIR/$TARFILE" -C "$BACKUP_DIR" "$FILENAME"

rm "$BACKUP_DIR/$FILENAME"

echo "[$(date)] 備份完成:$TARFILE"

# 自動刪除7天前的舊備份

find "$BACKUP_DIR" -name "${DB_NAME}_*.tar.gz" -mtime +7 -exec rm {} \;

echo "[$(date)] 清理7天前備份完成"

保存并退出(Ctrl + O → 回車 → Ctrl + X)

五、添加執行權限

bash

chmod +x /home/backup/mysql_backup.sh

六、設置定時任務(Crontab)

讓腳本每天凌晨 2 點自動執行:

bash

crontab -e

添加以下一行:

bash

0 2 * * * /home/backup/mysql_backup.sh >> /home/backup/backup.log 2>&1

這表示每天 2 點執行腳本,并把日志寫入 backup.log。

七、執行效果示例

進入備份目錄:

bash

cd /home/backup

ls -la

你將看到類似這些文件:

pgsql

mydb_2025-05-13.sql.tar.gz

mydb_2025-05-14.sql.tar.gz

mydb_2025-05-15.sql.tar.gz

backup.log

八、小知識點補充 

命令

作用說明

mysqldumpMySQL 官方提供的數據庫備份工具

tar -czf壓縮文件為 .tar.gz 格式

find -mtime +7查找7天前的文件

crontabLinux 的定時任務工具

九、常見問題解答

Q1:密碼會不會泄露?

是明文寫入腳本,但文件權限設置好就不會有問題(chmod 700)。如需更安全方式,建議用 .my.cnf 配置隱藏密碼。

Q2:能備份所有數據庫嗎?

可以,將 mysqldump 替換成:

bash

mysqldump -u$DB_USER -p$DB_PASSWORD --all-databases > all_$(date +%F).sql

總結

恭喜你!現在你已經完成了一個自動化數據庫備份系統,再也不用擔心數據突然丟失啦!

今 日 收 獲

  • 熟悉了 mysqldump 用法

  • 學會用 Shell 腳本打包壓縮

  • 搞懂了 Linux 的定時任務 cron

  • 實現了自動清理舊文件

原諒來源:https://mp.weixin.qq.com/s/YmbN5q_snqZKd4zGd1_6FQ

[我要糾錯]
[編輯:宋聰喬 &發表于江蘇]
關鍵詞: 本文 步步 手用 Shell 腳本

來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。

點個贊
0
踩一腳
0

您在閱讀:用 Shell 腳本實現 MySQL 數據庫每日自動備份

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利

蘇公網安備32010402000125 蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司

南京思必達教育科技有限公司版權所有   百度統計

主站蜘蛛池模板: 按摩理论片 | 99精品伊人久久久大香线蕉 | 99re国产视频| 日韩在线免费播放 | 欧美又黄又嫩大片a级 | 一二三区在线观看 | 男女爽爽无遮拦午夜视频 | 亚洲综合激情另类小说区 | 性刺激的欧美三级视频 | 88福利视频 | 日韩国产欧美视频 | 最近的免费中文字幕1 | 国产一区二区三区在线看片 | 新香蕉视频在线 | 在线毛片网站 | 性亚洲 | 一个b两个40分麻豆 一个色亚洲 | 黄网站在线播放 | 日韩影院在线观看 | 国产一区玩具在线观看 | 成人午夜影视全部免费看 | 精品剧情v国产在线麻豆 | 黄视频日本 | yellow中文字幕久久网 | 永久网站色视频在线观看免费 | 一级一片一a一片 | 免费网站看v片在线播放器 免费无毒片在线观看 | 成人在激情在线视频 | 在线观看精品视频一区二区三区 | 日韩精品视频观看 | 在线免费视频一区 | 国产成人精品日本亚洲专一区 | 国产精品香蕉在线一区 | 最新一本大道香蕉综合 | 全黄一级裸片视频在线观看 | 777久久成人影院 | 国产在线精品一区二区中文 | 日日摸夜夜添夜夜添人人爽 | 91成人在线视频 | 国产亚洲精品观看91在线 | 国产精品久久久香蕉 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產品享最低成本,有需要聯系,
  • 卡爾蔡司鏡片優惠店,鏡片價格低
  • 蘋果原裝手機殼