原文链接:http://www.cnblogs.com/ma6174/archive/2012/07/31/2616498.html
本文主要讲解如何用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