[轉]一個備份MySQL資料庫的簡單Shell指令碼

來源:互聯網
上載者:User

標籤:

本文翻譯自 iSystemAdmin 的 《A Simple Shell Script to Backup MySQL Database》

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

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

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

主指令碼(用於備份mysql資料庫):

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

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

#mkdir /backup#mkdir /oldbackup

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

這裡我用的是 vi

# vi /backup/backup.sh

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

#!bin/bashcd /backupecho “You are In Backup Directory”mv backup* /oldbackupecho “Old Databases are Moved to oldbackup folder”Now=$(date +”%d-%m-%Y--%H:%M:%S”)File=backup-$Now.sqlmysqldump –u user-name  –p ‘password’ database-name > $Fileecho “Your Database Backup Successfully Completed”

指令碼說明:

切記,在第8行命令中,在mysqldump命令後要輸入自己的資料庫使用者名稱、密碼及資料庫名。

執行該指令碼,首先會進入 /backup 目錄,然後該指令碼會把原有的舊Database Backup移動到 /oldbackup 檔案夾中,接著根據系統的日期及時間產生一個檔案名稱,在最後 mysqldump 命令會產生一個“.sql”格式的Database Backup檔案。

3. 設定 backup.sh 指令檔的可執行許可

# chmod +x /backup/backup.sh

4. 執行指令碼

#./backup.sh

指令碼運行結束後會得到以下輸入。

[email protected]:/download#./backup.shYou areinDownload DirectoryOld Backup DatabaseisMoved to oldbackup folderdatabase backup successful completedroot@Server1:/download#

註:首次執行該指令碼會有一個“no such file”的提示資訊,這是由於舊備份檔案還不存在。只要再次執行該指令碼就沒有問題了,這個問題已經不存在了。

5. 使用cron制訂備份計劃

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

#crontab –e

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

013* * * * /backup/backup.sh

本任務表示的是在每天下午1點鐘把Database Backup到指定的檔案夾。有關cron任務設定的詳細內容可以查閱crontab手冊。

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

[轉]一個備份MySQL資料庫的簡單Shell指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.