全球主机交流论坛

标题: DropBox定时备份方案,非网页上传,非常好用 [打印本页]

作者: helps    时间: 2012-3-25 17:46
标题: DropBox定时备份方案,非网页上传,非常好用
本帖最后由 helps 于 2012-3-25 19:53 编辑

另外一贴是以前登陆网站上传备份,不那么好用,而且使用网站上传有限制.
我这个备份方案是直接使用dropbox同步,如果想实时同步就一直守护dropbox进程,会占用一定资源.推荐小内存的VPS和我一样使用cron定时备份.

1.linux上安装dropbox
32位linux
  1. wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86
复制代码
64位linux
  1. wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64
复制代码
解压:
  1. tar xzvf dropbox.tar.gz
复制代码
第一次运行生成host_id
  1. ~/.dropbox-dist/dropboxd &
复制代码
生成id后,将host_id替换下面链接后面的字符在浏览器打开,输入你的帐号密码就绑定机器了.
  1. https://www.dropbox.com/cli_link?host_id=XXXXXXXXXXXXXXXXXXX
复制代码
2.建立连接备份网站
正式开始同步你的网站,通过ln软链接你所有要备份的目录,例如:
  1. cd ~/Dropbox
  2. ln -s /home/wwwroot/html
  3. ln -s /home/wwwroot/htdocs
  4. ...
复制代码
开始运行同步,美国的vps同步速度非常快的,1G的html文件,只花了几分钟全部同步完成
  1. ~/.dropbox-dist/dropboxd &
复制代码
3.为了节省资源,可以不使用实时同步,只定时打开同步一天的文件再关掉以节省资源.
先关掉同步:
  1. killall dropbox
复制代码
编写定时同步脚本:
  1. vi backup.sh
复制代码
代码如下:
  1. #!/bin/sh
  2. start() {
  3. echo starting dropbox
  4. /root/.dropbox-dist/dropboxd &
  5. }
  6. stop() {
  7. echo stoping dropbox
  8. pkill dropbox
  9. }
  10. case "$1" in
  11. start)
  12. start
  13. ;;
  14. stop)
  15. stop
  16. ;;
  17. restart)
  18. stop
  19. start
  20. ;;
  21. esac
复制代码
定时运行和关闭:
  1. chmod +x backup.sh
  2. crontab -e
复制代码
每天4点开始同步,5点关闭同步.
其实一般每天更新数据不多不用打开这么长时间,我自己用的一天只打开10分钟,这个根据各人每天更新的数据量自己来设置.
  1. 0 4 * * * sh /root/backup.sh restart
  2. 0 5 * * * sh /root/backup.sh stop
复制代码
4.干脆把我从网上找的备份数据库的脚本一并贡献出来,适合懒人使用
  1. vi bakmysql.sh
复制代码
脚本如下:
  1. #!/bin/bash
  2. DBName=修改为数据库名
  3. DBUser=修改为数据库用户名
  4. DBPasswd=修改为数据库密码
  5. BackupPath=/root/Dropbox/
  6. LogFile=/root/db.log
  7. DBPath=/usr/local/mysql/var/ #备份的数据库目录
  8. #BackupMethod=mysqldump
  9. #BackupMethod=mysqlhotcopy
  10. #BackupMethod=tar

  11. NewFile="$BackupPath"db$(date +%y%m%d).tgz
  12. DumpFile="$BackupPath"db$(date +%y%m%d)
  13. OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz  #自动删除5天前的备份
  14. echo "-------------------------------------------" >> $LogFile
  15. echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
  16. echo "--------------------------" >> $LogFile
  17. #Delete Old File
  18. if [ -f $OldFile ]
  19. then
  20.         rm -f $OldFile >> $LogFile 2>&1
  21.         echo "[$OldFile]Delete Old File Success!" >> $LogFile
  22. else
  23.         echo "[$OldFile]No Old Backup File!" >> $LogFile
  24. fi
  25. if [ -f $NewFile ]
  26. then
  27.         echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile
  28. else
  29.         case $BackupMethod in
  30.         mysqldump)
  31.                 if [ -z $DBPasswd ]
  32.                 then
  33.                         mysqldump -u $DBUser --opt $DBName > $DumpFile
  34.                 else
  35.                         mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
  36.                 fi
  37.                 tar czvf $NewFile $DumpFile >> $LogFile 2>&1
  38.                 echo "[$NewFile]Backup Success!" >> $LogFile
  39.                 rm -rf $DumpFile
  40.                 ;;
  41.         mysqlhotcopy)
  42.                 rm -rf $DumpFile
  43.                 mkdir $DumpFile
  44.                 if [ -z $DBPasswd ]
  45.                 then
  46.                         mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
  47.                 else
  48.                         mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
  49.                 fi
  50.                 tar czvf $NewFile $DumpFile >> $LogFile 2>&1
  51.                 echo "[$NewFile]Backup Success!" >> $LogFile
  52.                 rm -rf $DumpFile
  53.                 ;;
  54.         *)
  55.                 service mysql stop >/dev/null 2>&1
  56.                 tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
  57.                 service mysql start >/dev/null 2>&1
  58.                 echo "[$NewFile]Backup Success!" >> $LogFile
  59.                 ;;
  60.         esac
  61. fi
  62. echo "-------------------------------------------" >> $LogFile
复制代码
5.删除卸载dropbox方法:
  1. killall dropbox
  2. rm -rf .dropbox .dropbox-dist Dropbox dropbox.tar.gz dbmakefakelib.py dbreadconfig.py
复制代码

作者: 小和尚    时间: 2012-3-25 17:48
纯技术贴 我喜欢
作者: dalky    时间: 2012-3-25 17:56
技术贴 我喜欢
作者: hantheme    时间: 2012-3-25 18:03
技术贴 我喜欢
作者: 天涯放牧    时间: 2012-3-25 18:04
谢谢楼主分享自己的技术,呵呵~!
作者: moonkid    时间: 2012-3-25 18:07
好吧,我去试试
作者: imnpc    时间: 2012-3-25 18:11
不错  技术帖
作者: ivv    时间: 2012-3-25 18:18
支持
作者: chairo    时间: 2012-3-25 18:22
纯技术贴 我喜欢
作者: wfqvip    时间: 2012-4-19 14:54
赞一个!!!!!!!!!!
作者: winkill    时间: 2012-4-19 14:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: mope007    时间: 2012-4-19 15:10
支持。。
作者: 裸舞的金鱼    时间: 2012-4-19 15:11
mark
作者: superqdi    时间: 2012-4-19 15:27
点你给非
作者: 茶几    时间: 2012-4-19 15:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 永世的缘    时间: 2012-4-20 09:41
GOOD
作者: 副站长    时间: 2012-4-20 09:43
这个必须MARK
作者: thinkinseo    时间: 2012-4-20 10:00
mark
作者: theiter    时间: 2012-4-20 10:16


谢谢技术帝
作者: sdomusic    时间: 2012-4-20 10:47
收藏备用。
作者: somin    时间: 2012-4-20 10:48
赞一个!!!!!!!!!!
作者: 狂奔的蜗牛    时间: 2012-4-20 10:52
mark
作者: 闲推月下门    时间: 2012-4-20 11:01
技术贴啊,果断收藏了
作者: 郎中中    时间: 2012-4-20 11:04

作者: gcczm    时间: 2012-4-20 11:05
纯技术贴 我喜欢
最好出个WIN的教程
作者: timothyye    时间: 2012-4-20 11:14
支持技术帝,收藏了~~~
作者: cisco    时间: 2012-4-20 11:20
好贴要顶。
作者: 一生拼搏    时间: 2012-4-20 11:33
谢谢~~~~~~非常有帮助
作者: klboy    时间: 2012-4-20 11:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: 誓誓    时间: 2012-4-20 12:13
记号
作者: 辰景    时间: 2012-4-20 12:47
不错啊,谢谢楼主
作者: 有个就好    时间: 2012-4-20 15:32
不错Mark下
作者: ICFOX    时间: 2012-4-20 16:13
Linux版不能选择性同步啊,原来存的内容也给同步到本地了.
作者: dzbz    时间: 2012-4-25 20:16

作者: znithy    时间: 2012-5-2 00:23
确实不错,每天跑个15分钟备份下.
作者: star826    时间: 2012-5-2 00:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: mope007    时间: 2012-5-2 02:30
要再顶一下~
作者: meike    时间: 2012-5-2 08:02
很不錯。!
作者: cisco    时间: 2012-5-2 08:31
good…
作者: Wyane    时间: 2012-5-2 09:03
可以备份虚拟空间的吗
作者: monface    时间: 2012-5-2 10:19
生成id后,将host_id替换下面链接后面的字符在浏览器打开,输入你的帐号密码就绑定机器了.
这一步,如何打开浏览器啊?
每次重启了系统都要重新登录一次?
能否自动?
作者: houzai    时间: 2012-5-2 10:33
好Tie
作者: yywudi    时间: 2012-5-4 17:05
monface 发表于 2012-5-2 10:19
生成id后,将host_id替换下面链接后面的字符在浏览器打开,输入你的帐号密码就绑定机器了.
这一步,如何打 ...

第一次运行会提示没有link到任何账户,然后会有个地址出来,不要关闭程序,复制那个网址直接在另外一台电脑,你自己的电脑,不必要是vps的,直接访问那个地址然后登录到你的drobbox帐号,link上了之后,vps里会显示已经link上帐号了
作者: 肥鱼    时间: 2012-5-4 17:25
喜欢
支持!
作者: vpswz    时间: 2012-5-9 01:54
yywudi 发表于 2012-5-4 17:05
第一次运行会提示没有link到任何账户,然后会有个地址出来,不要关闭程序,复制那个网址直接在另外一台电 ...

[root@vpswz Dropbox]# ln -s /home/wwwroot/
[root@vpswz Dropbox]# ~/.dropbox-dist/dropboxd &
[2] 9295
[root@vpswz Dropbox]# Another instance of Dropbox (8176) is running!

进行不下去了,什么情况?
作者: 誓誓    时间: 2012-5-9 08:34
非常好的
作者: 熊总    时间: 2012-5-18 04:46
Unable to monitor entire Dropbox folder hierarchy. Please run "echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches" and restart Dropbox to correct the problem

兄弟,出现这个提示是什么意思
作者: diglife    时间: 2012-5-18 08:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: 龙之怒    时间: 2012-6-7 14:17
马克,回去搞




欢迎光临 全球主机交流论坛 (https://loc.193.gs/) Powered by Discuz! X3.4