linux定期備份MySQL資料庫的Shell指令碼

來源:互聯網
上載者:User

在liunux中我們先定義好一個備份mysql的Shell指令碼,然後再通過linux中的Cron可以定時執行該指令碼,備份會自動完成,下面我來分享一下我的mysql備份過程。

   Shell指令碼是我們寫不同類型命令的一種指令碼,這些命令在這一個檔案中就可以執行。我們也可以逐

一敲入命令手動執行。如果我們要使用shell指令碼就必須在一開始把這些命令寫到一個文字檔中,以後

就可以隨意反覆運行這些命令了。
      假定你已經知道shell scripting、 mysqldump和crontab。首先給出完整的指令碼,後面會對該腳

本做說明。
      適用作業系統:任何Linux或UNIX。

1.建立指令碼
      該Shell指令碼可以自動備份資料庫。只要複製粘貼本指令碼到文字編輯器中,輸入資料庫使用者名稱、密

碼以及資料庫名即可。這裡我們備份資料庫使用的是mysqldump 命令。後面會對每行指令碼命令進行說明


(1)在你想要放置備份檔案的目錄下建立兩個目錄"backup"和"oldbackup",這裡使用的是根目錄

 代碼如下 複製代碼


1 #mkdir /backup 

2 #mkdir /oldbackup

(2)建立並編輯檔案"backup.sh"

 

 代碼如下 複製代碼

1 #!bin/bash 

2 cd /backup 

3 echo "You are In Backup Directory" 

4 mv backup* /oldbackup 

5 echo "Old Databases are Moved to oldbackup folder" 

6 Now=$(date +"%d-%m-%Y--%H:%M:%S") 

7 File=backup-$Now.sql 

8 mysqldump –u user-name  –p 'password' database-name > $File

9 echo "Your Database Backup Successfully Completed"

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

 

 代碼如下 複製代碼
1 # chmod +x /backup/backup.sh

(4)指令碼執行


1 #./backup.sh
      指令碼運行結束後會得到以下輸出:

 代碼如下 複製代碼


1 root@Server1:/download#./backup.sh 

2 You areinDownload Directory 

3 Old Backup DatabaseisMoved to oldbackup folder 

4 database backup successful completed 

5 root@Server1:/download#

      註:首次執行該指令碼會有一個"no such file"的提示資訊,這是由於舊備份檔案還不存在。只要

再次執行該指令碼就沒有問題了,這個問題已經不存在了。

2.指令碼說明
      在第8行命令中,在mysqldump命令後要輸入自己的資料庫使用者名稱、密碼及資料庫名。
      執行該指令碼,首先會進入 /backup 目錄(要與自己建立的目錄保持一致),然後該指令碼會把原有

的舊Database Backup移動到 /oldbackup 檔案夾中,接著根據系統的日期及時間產生一個檔案名稱,在最後

mysqldump 命令會產生一個".sql"格式的Database Backup檔案。

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

 代碼如下 複製代碼

1 #crontab –e

      在編輯器中輸入一下代碼,儲存退出即可:

 代碼如下 複製代碼

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

      本任務表示的是在每天下午1點鐘把Database Backup到指定的檔案夾(具體備份周期可根據自己的實際

情況設定)。有關cron任務設定的詳細內容可以查閱crontab手冊。
      到這裡一個定時自動備份mysql的功能就得以實現,為保證資料庫的安全性,李壞建議大家都養成

備份資料庫的習慣。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.