MySQL數(shù)據(jù)庫(kù)的shell腳本自動(dòng)備份
MySQL數(shù)據(jù)庫(kù)的shell腳本自動(dòng)備份
經(jīng)常備份數(shù)據(jù)庫(kù)是一個(gè)好習(xí)慣,雖然數(shù)據(jù)庫(kù)損壞或數(shù)據(jù)丟失的概率很低,但一旦發(fā)生這種事情,后悔是沒(méi)用的。一般網(wǎng)站或應(yīng)用的后臺(tái)都有備份數(shù)據(jù)庫(kù)的功能按鈕,但需要去手工執(zhí)行。我們需要一種安全的,每天自動(dòng)備份的方法。下面的這個(gè)shell腳本就是能讓你通過(guò)過(guò)設(shè)定Crontab來(lái)每天備份MySQL數(shù)據(jù)庫(kù)的方法。
#!/bin/bash # 數(shù)據(jù)庫(kù)認(rèn)證 user="" password="" host="" db_name="" # 其它 backup_path="/path/to/your/home/_backup/mysql" date=$(date +"%d-%b-%Y") # 設(shè)置導(dǎo)出文件的缺省權(quán)限 umask 177 # Dump數(shù)據(jù)庫(kù)到SQL文件 mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql
通過(guò)上面的腳本,我們可以每天導(dǎo)出一份sql備份文件,文件的名稱按當(dāng)日日期生成。日積月累,這樣的文件會(huì)生成很多,有必要定時(shí)刪除一些老舊的備份的文件,下面的這行命令就是做這個(gè)任務(wù)的,你可以把它加在上面的腳本后面。
# 刪除30天之前的就備份文件 find $backup_path/* -mtime +30 -exec rm {} \;
我在使用上面的腳本時(shí)曾經(jīng)遇到過(guò)一個(gè)問(wèn)題,Crontab定時(shí)執(zhí)行腳本導(dǎo)出沒(méi)有報(bào)錯(cuò),但導(dǎo)出的是空的SQL文件,但登錄到控制臺(tái)手工執(zhí)行這個(gè)腳本是備份成功的。后來(lái)發(fā)現(xiàn)是Crontab執(zhí)行腳本是缺少系統(tǒng)環(huán)境信息,找不到 mysqldump ,改正的方法是使用 mysqldump 全路徑就行了。而之所以沒(méi)有報(bào)錯(cuò)信息,是因?yàn)?mysqldump 把錯(cuò)誤信息輸出到了 stderr。在命令的后面末尾接 “2>&1” 這樣一個(gè)信息重定向命令就可以看到錯(cuò)誤信息了:
mysqldump -ujoe -ppassword > /tmp/somefile 2>&1
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 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ù)備份腳本
- 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è)腳本分享
- MySQL備份Shell腳本的實(shí)現(xiàn)
相關(guān)文章
navicat?連接Ubuntu虛擬機(jī)的mysql的操作方法
這篇文章主要介紹了navicat?連接Ubuntu虛擬機(jī)的mysql的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04mysql如何去掉某個(gè)字段中的第一個(gè)出現(xiàn)的字符串
這篇文章主要介紹了mysql如何去掉某個(gè)字段中的第一個(gè)出現(xiàn)的字符串問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07MySql之授權(quán)用戶權(quán)限如何設(shè)置
這篇文章主要介紹了MySql之授權(quán)用戶權(quán)限如何設(shè)置問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05mysql數(shù)據(jù)庫(kù)之索引詳細(xì)介紹
大家好,本篇文章主要講的是mysql數(shù)據(jù)庫(kù)之索引詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12MySQL服務(wù)無(wú)法啟動(dòng):failed to restart mysql.service:&
在系統(tǒng)更新或配置變更后,MySQL服務(wù)可能無(wú)法啟動(dòng),本文提供解決MySQL服務(wù)啟動(dòng)失敗的方法,包括檢查和更新服務(wù)單元文件,主要步驟包括檢查服務(wù)文件存在與否、備份舊的服務(wù)文件、使用最新的服務(wù)文件重啟MySQL服務(wù)等,確保服務(wù)能正常運(yùn)行,感興趣的可以了解一下2024-10-10