本文主要講解如何用git備份伺服器資料
伺服器端:
1.如果沒有git,先安裝:sudo apt-get install git-all
2.假如要備份資料夾~/backup,先初始化git
git init
git add .
git commit -m "first commit"
3.寫一個備份指令碼,vi ~/backup.sh ,內容如下
git add .
git commit -m "back up"
4.讓指令碼定期執行,假設我們每天23:30執行備份指令碼,可以加入Linux任務計劃:
在終端輸入命令:crontab -e
在最後一行加入以下內容:
這樣伺服器就會在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:
cd ~/backup/
git fetch origin
git merge origin/master
4.把指令碼加入linux任務計劃。(參考伺服器端配置第4條)
總結:
1.上面僅僅是備份一個資料夾(比如網站資料夾),如果備份資料庫可以用命令將資料庫匯入到資料夾裡面,例如mysql可以用這條命令
然後將這條命令放到剛才的自動執行指令碼就能定期備份資料庫了
2.定期檢視git備份日誌:git log ,檢查是否按時備份,備份是否正常
3.用git備份的優點是可以進行版本控制,可以檢視版本更新,並且可以恢復到以前任何一個版本,有關git的相關知識可以參考這裡:
http://note.sdo.com/u/ma6174/c/M5cEN~k14xk0LX0TQ000Ag