主頁 > 知識庫 > MySQL數(shù)據(jù)庫的shell腳本自動備份

MySQL數(shù)據(jù)庫的shell腳本自動備份

熱門標(biāo)簽:遂寧400電話申請 dq8 全地圖標(biāo)注 電銷機(jī)器人市場價 南寧智能電銷機(jī)器人價格 邯鄲400電話注冊辦理 地圖標(biāo)注直通車 哈爾濱云外呼系統(tǒng)運營商 永州智能外呼系統(tǒng) 趙縣地圖標(biāo)注

MySQL數(shù)據(jù)庫的shell腳本自動備份

經(jīng)常備份數(shù)據(jù)庫是一個好習(xí)慣,雖然數(shù)據(jù)庫損壞或數(shù)據(jù)丟失的概率很低,但一旦發(fā)生這種事情,后悔是沒用的。一般網(wǎng)站或應(yīng)用的后臺都有備份數(shù)據(jù)庫的功能按鈕,但需要去手工執(zhí)行。我們需要一種安全的,每天自動備份的方法。下面的這個shell腳本就是能讓你通過過設(shè)定Crontab來每天備份MySQL數(shù)據(jù)庫的方法。

#!/bin/bash
# 數(shù)據(jù)庫認(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ù)庫到SQL文件
 mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql

通過上面的腳本,我們可以每天導(dǎo)出一份sql備份文件,文件的名稱按當(dāng)日日期生成。日積月累,這樣的文件會生成很多,有必要定時刪除一些老舊的備份的文件,下面的這行命令就是做這個任務(wù)的,你可以把它加在上面的腳本后面。

# 刪除30天之前的就備份文件
 find $backup_path/* -mtime +30 -exec rm {} \;

我在使用上面的腳本時曾經(jīng)遇到過一個問題,Crontab定時執(zhí)行腳本導(dǎo)出沒有報錯,但導(dǎo)出的是空的SQL文件,但登錄到控制臺手工執(zhí)行這個腳本是備份成功的。后來發(fā)現(xiàn)是Crontab執(zhí)行腳本是缺少系統(tǒng)環(huán)境信息,找不到 mysqldump ,改正的方法是使用 mysqldump 全路徑就行了。而之所以沒有報錯信息,是因為 mysqldump 把錯誤信息輸出到了 stderr。在命令的后面末尾接 “2>1” 這樣一個信息重定向命令就可以看到錯誤信息了:

mysqldump -ujoe -ppassword > /tmp/somefile 2>1

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • HBASE 常用shell命令,增刪改查方法
  • shell腳本實現(xiàn)mysql定時備份、刪除、恢復(fù)功能
  • shell簡單處理mysql查詢結(jié)果的方法
  • 用shell寫一個mysql數(shù)據(jù)備份腳本
  • Shell下實現(xiàn)免密碼快速登陸MySQL數(shù)據(jù)庫的方法
  • 通過shell腳本對mysql的增刪改查及my.cnf的配置

標(biāo)簽:張家界 阿里 浙江 南寧 鄂州 中衛(wèi) 上海 定西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL數(shù)據(jù)庫的shell腳本自動備份》,本文關(guān)鍵詞  MySQL,數(shù)據(jù)庫,的,shell,腳本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL數(shù)據(jù)庫的shell腳本自動備份》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL數(shù)據(jù)庫的shell腳本自動備份的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章