MySQL備份Shell腳本的實(shí)現(xiàn)
你可以編寫(xiě)一個(gè) Shell 腳本來(lái)自動(dòng)備份 MySQL 數(shù)據(jù)庫(kù)。下面是一個(gè)示例腳本,它會(huì):
- 備份指定數(shù)據(jù)庫(kù)(或所有數(shù)據(jù)庫(kù))。
- 按日期命名備份文件,防止覆蓋。
- 自動(dòng)刪除 N 天前的舊備份,節(jié)省空間。
示例:MySQL 備份 Shell 腳本
#!/bin/bash # 配置部分 BACKUP_DIR="/backup/mysql" # 備份存放目錄 MYSQL_USER="root" # MySQL 用戶(hù)名 MYSQL_PASSWORD="yourpassword" # MySQL 密碼 MYSQL_HOST="localhost" # MySQL 服務(wù)器地址 DATABASE_NAME="your_database" # 備份的數(shù)據(jù)庫(kù)名,若要備份所有數(shù)據(jù)庫(kù),改為 --all-databases RETENTION_DAYS=7 # 保留的天數(shù),自動(dòng)刪除舊備份 # 獲取當(dāng)前日期 DATE=$(date +"%Y-%m-%d_%H-%M-%S") # 備份文件名 BACKUP_FILE="$BACKUP_DIR/${DATABASE_NAME}_$DATE.sql.gz" # 確保備份目錄存在 mkdir -p "$BACKUP_DIR" # 執(zhí)行備份 mysqldump -h "$MYSQL_HOST" -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" "$DATABASE_NAME" | gzip > "$BACKUP_FILE" # 檢查備份是否成功 if [ $? -eq 0 ]; then echo "MySQL 備份成功: $BACKUP_FILE" else echo "MySQL 備份失??!" exit 1 fi # 刪除 N 天前的舊備份 find "$BACKUP_DIR" -type f -name "${DATABASE_NAME}_*.sql.gz" -mtime +$RETENTION_DAYS -exec rm {} \; echo "已清理 $RETENTION_DAYS 天前的舊備份"
使用方式
復(fù)制腳本到 Linux 服務(wù)器,如 /backup/mysql_backup.sh
。
修改腳本參數(shù)(數(shù)據(jù)庫(kù)名、用戶(hù)名、密碼等)。
賦予執(zhí)行權(quán)限:
chmod +x /backup/mysql_backup.sh
手動(dòng)運(yùn)行測(cè)試:
/backup/mysql_backup.sh
設(shè)置定時(shí)任務(wù),每天凌晨 2 點(diǎn)自動(dòng)備份:
crontab -e
添加:
0 2 * * * /backup/mysql_backup.sh >> /backup/backup.log 2>&1
這樣,你的 MySQL 數(shù)據(jù)庫(kù)就能每天自動(dòng)備份并清理舊備份,確保數(shù)據(jù)安全!
到此這篇關(guān)于MySQL備份Shell腳本的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MySQL備份Shell腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- shell腳本實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)雙機(jī)定時(shí)備份的方法
- mysql常用備份命令和shell備份腳本分享
- shell腳本實(shí)現(xiàn)mysql定時(shí)備份、刪除、恢復(fù)功能
- 用shell寫(xiě)一個(gè)mysql數(shù)據(jù)備份腳本
- MySQL數(shù)據(jù)庫(kù)的shell腳本自動(dòng)備份
- linux下mysql如何自動(dòng)備份shell腳本
- 一個(gè)簡(jiǎn)單的MySQL備份Shell腳本
- Shell腳本自動(dòng)備份MySQL到FTP并定期清理過(guò)期備份
- shell實(shí)現(xiàn)自動(dòng)備份mysql、整站數(shù)據(jù)的兩個(gè)腳本分享
相關(guān)文章
MySQL中主鍵索引與聚焦索引之概念的學(xué)習(xí)教程
這篇文章主要介紹了MySQL中的主鍵索引與聚焦索引的概念,文中也對(duì)比了兩種索引有何不同,需要的朋友可以參考下2015-11-11mysql遠(yuǎn)程跨庫(kù)聯(lián)合查詢(xún)的示例
本文主要介紹了mysql遠(yuǎn)程跨庫(kù)聯(lián)合查詢(xún)的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程圖文教程
在linux安裝mysql是一個(gè)困難的事情,yum安裝一般是安裝的mysql5.1,現(xiàn)在經(jīng)過(guò)自己不懈努力終于能用yum安裝mysql5.5了。下面通過(guò)兩種方法給大家介紹CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程,一起學(xué)習(xí)吧2016-05-05mysql 查詢(xún)重復(fù)的數(shù)據(jù)的SQL優(yōu)化方案
這篇文章主要介紹了mysql 查詢(xún)重復(fù)的數(shù)據(jù)的SQL優(yōu)化方案,非常不錯(cuò)的方案推薦給大家。2015-02-02關(guān)于Mysql update修改多個(gè)字段and的語(yǔ)法問(wèn)題詳析
這篇文章主要給大家介紹了關(guān)于mysql update修改多個(gè)字段and的語(yǔ)法問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12MySQL 啟動(dòng)報(bào)錯(cuò):File ./mysql-bin.index not found (Errcode: 13)
這篇文章主要介紹了MySQL 啟動(dòng)報(bào)錯(cuò):File ./mysql-bin.index not found (Errcode: 13)的解決方法,需要的朋友可以參考下2014-07-07探討:innodb與myisam在存儲(chǔ)上有何特點(diǎn)和區(qū)別
本篇文章是對(duì)innodb與myisam在存儲(chǔ)上有何特點(diǎn)和區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mysql中mydumper 和 mysqldump 對(duì)比使用
MySQL數(shù)據(jù)庫(kù)備份工具有其自帶的mysqldump,屬于mysql官方的一款備份工具。但是第三方備份工具mydumper憑借優(yōu)越的特點(diǎn)為更多人所使用。下面就通過(guò)測(cè)試驗(yàn)證它們之間的備份效率。2017-05-05