備份MySQL數據庫的簡單Shell腳本

火幣

Shell腳本是我們寫不同類型命令的一種腳本,這些命令在這一個文件中就可以執行。我們也可以逐一敲入命令手動執行。如果我們要使用shell腳本就必須在一開始把這些命令寫到一個文本文件中,以後就可以隨意反覆運行這些命令了。

我首先要在本文帶給你的是完整腳本。後面會對該腳本做說明。我假定你已經知道shell scripting、 mysqldump和crontab。

適用操作系統:任何Linux或UNIX。

 

主腳本(用於備份mysql數據庫):

該Shell腳本可以自動備份數據庫。只要複製粘貼本腳本到文本編輯器中,輸入數據庫用戶名、密碼以及數據庫名即可。我備份數據庫使用的是mysqlump 命令。後面會對每行腳本命令進行說明。

1. 分別建立目錄“backup”和“oldbackup”

1
2
#mkdir /backup
#mkdir /oldbackup

2. 現在使用你喜歡的編輯軟件創建並編輯“backup.sh”

這裡我用的是 vi

1
# vi /backup/backup.sh

現在把以下幾行命令輸入到 backup.sh 文件中:

1
2
3
4
5
6
7
8
9
#!bin/bash
cd /backup
echo “You are In Backup Directory”
mv backup* /oldbackup
echo “Old Databases are Moved to oldbackup folder”
Now=$(date +”%d-%m-%Y--%H:%M:%S”)
File=backup-$Now.sql
mysqldump –u user-Name  –p ‘password’ database-name > $File
echo “Your Database Backup Successfully Completed”

腳本說明:

切記,在第8行命令中,在mysqldump命令後要輸入自己的數據庫用戶名、密碼及數據庫名。

執行該腳本,首先會進入 /backup 目錄,然後該腳本會把原有的舊數據庫備份移動到 /oldbackup 文件夾中,接着根據系統的日期及時間生成一個文件名,在最後 mysqldump 命令會生成一個“.sql”格式的數據庫備份文件。

3. 設置 backup.sh 腳本文件的可執行許可

1
# chmod +x /backup/backup.sh

4. 執行腳本

1
#./backup.sh

腳本運行結束後會得到以下輸入。

1
2
3
4
5
root@Server1:/download#./backup.sh
You areinDownload Directory
Old Backup DatabaseisMoved to oldbackup folder
database backup successful completed
root@Server1:/download#

註:首次執行該腳本會有一個“no such file”的提示信息,這是由於舊備份文件還不存在。只要再次執行該腳本就沒有問題了,這個問題已經不存在了。

5. 使用cron制訂備份計劃

使用Cron可以定時執行該腳本,備份會自動完成。使用 crontab 命令編輯cron 執行的計劃任務。

1
#crontab –e

只要在編輯器上加入下面這一行代碼保存即可。

1
013* * * * /backup/backup.sh

本任務表示的是在每天下午1點鐘把數據庫備份到指定的文件夾。有關cron任務設置的詳細內容可以查閱crontab手冊。

對初學者而言,這是非常基礎的腳本。希望你能舉一反三寫出更複雜的備份腳本。我們會努力提供更自動化的新腳本。請大家不吝賜教,我們會儘力解決你們的問題。感謝與我們相伴。

贊(0) 打賞
需要國外主機建站的朋友,請聯繫站長! 轉載請註明文章來源:優惠碼主機—分享最新GoDaddy優惠碼 域名優惠碼 主機優惠碼 空間域名優惠碼等資訊 » 備份MySQL數據庫的簡單Shell腳本
分享到: 更多 (0)
Hostinger
iPage has Outstanding Uptime and Performance

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞




友情鏈接:
 |  美國虛擬主機  |  美國主機偵探  |  海外主機偵探  |  主機鎮  |  大鳥博客  |  香港主機評測網  |  楚狂人  |  boke112百科  |  新手站長

友情鏈接申請