程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Ubuntu Server使用 automysqlbackup腳本

Ubuntu Server使用 automysqlbackup腳本

編輯:MySQL綜合教程

昨天服務器意外關閉,導致開發環境數據庫文件損壞,所以想起了做自動備份的事情,原本是打算自己用Mysqldump寫個腳本來做計劃任務的,不過出於偷懶的角度考慮,在網上找了找,發現了automysqlbackup,看評論都還不錯,而且本身也是shell腳本實現的。本著不重復造輪子的精神,就下載來使用了。

 

地址:http://sourceforge.net/projects/automysqlbackup/

 

選擇的版本是最新的automysqlbackup-v3.0_rc6.tar.gz。

 

安裝非常簡單,比較麻煩的地方,是後面配置郵件客戶端,以及腳本中的一個小bug。

 

1、在任意目錄下,解壓文件包

 –xzf automysqlbackup-v3.0_rc6..gz

 

2、省事起見,切個權限

  -

 

3、安裝(若對路徑沒有什麼特別的要求,出現提示回車即可)

./.

默認配置文件位置:/etc/automysqlbackup

默認sh文件位置:/usr/local/bin

 

4、修改配置文件

安裝完成,默認會有兩個配置文件,一個是automysqlbackup.conf,還有一個是myserver.conf。

實際上看了安裝腳本就知道,這兩個文件本來就是拷貝冗余了一個出來,猜測用途是防止二次安裝或者誤操作的情況下,誤操作覆蓋已經配置好的配置文件。不過從腳本邏輯上看起來,貌似沒太大用,因為他重裝,照樣兩個文件一塊會覆蓋。不過如果發現automysqlbackup.conf配置有值的話,會給出提示就是了。

依舊,為了偷懶期間,就直接修改automysqlbackup.conf了,畢竟這是默認配置,sh執行的時候,不用帶任何參數。

主要需要注意的配置,有以下幾個:(配置文件中,帶有默認值,如果不需要更改,直接保持被注釋的狀態就好)

== host name of MySQL server to be used =/= Daily/Weekly Backup e.g. (   =(=( you want monthly backups? ( to  day of the month, it will be = you want weekly backups? ( to  where =*
CONFIG_rotation_daily= weekly backups. VALUE*= monthly backups. VALUE*=?=?- log   : send only log - files : send log - stdout : will simply output the log to the screen - quiet : Only send logs =?=

 

5、先改個腳本的小bug吧。。不過如果你的server上mail和mutt齊備,請忽略該步驟。

 /usr/local/bin/automysqlbackup

到1026行,將:

 [[  =  ||  =  ]]; =(   [[  =  ]]; =(   [[  !=  ]]; =(  
    

改為:

 [[  !=  ]]; 
       [[  =  ||  =  ]]; =(   [[  =  ]]; =(  
        
       [[  =  ||  =  ]]; =(   [[  =  ]]; =(  
    

 

6、安裝郵件客戶端 mutt+msmtp

apt-get  mutt

安裝mutt的時候,會自動安裝postfix用作mail server,問題是這玩意太大,出於比較有潔癖的心態,我就主動把它干掉了。畢竟小巧玲珑的msmtp在那等著我呢。(看個人需求和喜好而定)

apt--get autoremove –purge

安裝msmtp

apt-get  msmtp

安裝完了,來配郵件吧。

 

7、郵件客戶端配置

 /etc/Muttrc

最上面加上如下:

====username@== no

然後到~目錄下,新建個.msmtprc

cd ~
 .msmtprc

加上如下內容:

~/.msmtp.log

因為這裡是明文密碼,所以建議修改個600之流,再增加個日志文件

  ~/.msmtp.log

這全部完成了的話,可以試試郵件發不發的出去了。

  |mutt -s  [email protected]

測試成功的話,就跑一下備份腳本看看吧

 

8、裝上幾個我服務器上木有的命令:

apt-get -get  pigz

 

9、mysql如果之前沒設環境變量,只是加了個快捷方式的話,設個環境變量

  /etc/profile

在最後的位置加入

export  PATH=$PATH:/usr/local/mysql/bin

保存,然後再刷新檢查下

source  /etc/ $PATH

 

10、啟動下備份腳本試試了,對了,記得要先創建備份路徑

mkdir /srv/backup
mkdir /srv/backup/mysql
automysqlbackup

如果沒什麼問題的話,就會看到備份文件路徑下面,自動給你創建好了幾個目錄:

daily  fullschema  latest  monthly  status  tmp  weekly

而且打開daily,裡面應該就會有剛才備份的文件了。

再去check一下mail,都ok,那就配個計劃任務就完事了。

 

11、配置計劃任務

crontab –l

先查查看目前有沒有任務,沒有的話,就在~建個配置文件

cd ~
 root-crontab

內容添上

30 23 * * * /usr/local/bin/automysqlbackup

表示每天23點30,自動運行備份腳本

然後再添加到計劃任務裡面去

crontab -u root root-crontab

齊活。。。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved