linux備份數據庫

   轉載地址  http://www.lihuai.net/linux/mysql/803.html    注:原文  #!bin/bash bin前面少個斜槓 應該爲#!/bin/bash


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 目錄(要與自己創建的目錄保持一致),然後該腳本會把原有的舊數據庫備份移動到 /oldbackup 文件夾中,接着根據系統的日期及時間生成一個文件名,在最後 mysqldump 命令會生成一個“.sql”格式的數據庫備份文件。

3.使用cron制定備份計劃

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

1 #crontab –e

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

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

      本任務表示的是在每天下午1點鐘把數據庫備份到指定的文件夾(具體備份週期可根據自己的實際情況設定)。有關cron任務設置的詳細內容可以查閱crontab手冊。
      到這裏一個定時自動備份mysql的功能就得以實現,爲保證數據庫的安全性,李壞建議大家都養成備份數據庫的習慣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章