伺服器備份攻略

weixin_34015860發表於2012-07-31

本文主要講解如何用git備份伺服器資料

伺服器端:

1.如果沒有git,先安裝:sudo apt-get install git-all

2.假如要備份資料夾~/backup,先初始化git

cd ~/backup  
git init
git add .

git commit -m "first commit" 

3.寫一個備份指令碼,vi ~/backup.sh ,內容如下

cd ~/backup
git add .

git commit -m "back up" 

4.讓指令碼定期執行,假設我們每天23:30執行備份指令碼,可以加入Linux任務計劃

在終端輸入命令:crontab -e

在最後一行加入以下內容:

30 23 * * * ~/backup.sh

 

 

這樣伺服器就會在23:30自動備份資料夾。僅僅在伺服器上備份是不夠的,有必要把伺服器上的資料再備份到本地計算機上

本地 

1.設定本機與伺服器免輸密碼自動登入,可以參考這裡: http://www.cnblogs.com/ma6174/archive/2012/05/26/2519458.html

2.首次用git來clone伺服器資料(git裝了嗎?):

  git clone ssh://[username]@[ipaddress]:[port]/home/[username]/backup/.git 

3.寫一個自動獲取遠端更新的指令碼vi ~/backup.sh:

#!/bin/bash
cd ~/backup/
git fetch origin

git merge origin/master 

4.把指令碼加入linux任務計劃。(參考伺服器端配置第4條)

 

總結:

1.上面僅僅是備份一個資料夾(比如網站資料夾),如果備份資料庫可以用命令將資料庫匯入到資料夾裡面,例如mysql可以用這條命令

mysqldump --all-databases -u[username] -p[password] >~/backup/database.sql

然後將這條命令放到剛才的自動執行指令碼就能定期備份資料庫了

2.定期檢視git備份日誌:git log ,檢查是否按時備份,備份是否正常

3.用git備份的優點是可以進行版本控制,可以檢視版本更新,並且可以恢復到以前任何一個版本,有關git的相關知識可以參考這裡:

http://note.sdo.com/u/ma6174/c/M5cEN~k14xk0LX0TQ000Ag

 

 

相關文章