DropBox 注册地址:http://db.tt/FQq31vu
Edu信箱注册地址:https://domains.live.com/members/signup.aspx?domain=live.whut.edu.cn
http://mail.hsit.edu.cn/php/report/osignup.php
升级
1 登陆 https://www.dropbox.com/free,完成Dropbox的几个任务,一共可以获得768M空间
2 邀请他人,http://db.tt/FQq31vu 每人都可以获得500M空间
刷容量的两种办法
1 http://www.tolayu.com/2011/06/update-dropbox-free-invite/
2 http://bbs.weiphone.com/read-htm-tid-718705.html
在VPS中安装Dropbox实现网站的实时备份内容:
XML/HTML代码
- 1、登陆进VPS或者是服务器,进入用户目录
- cd
- 2、下载dropbox的客户端,要For linux那个而非For Nautilus的
- wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86
- 这个是32位的,64位就这样
- wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64
- 3、解压
- tar xzvf dropbox.tar.gz
- 4、下载dbmakefilelib.py并运行
- wget http://dl.dropbox.com/u/637552/Dropbox/dbmakefilelib.py
- python dbmakefilelib.py
- 如果出现以下信息,说明它运行正常
- adding library libgtk-x11-2.0.so.0
- adding library libgdk-x11-2.0.so.0
- adding library libatk-1.0.so.0
- adding library libgdk_pixbuf-2.0.so.0
- adding library libpango-1.0.so.0
- adding library libgobject-2.0.so.0
- adding library libgmodule-2.0.so.0
- adding library libgthread-2.0.so.0
- adding library libglib-2.0.so.0
- adding function gtk_tree_view_new
- adding function gtk_toolbar_new
- adding function g_threads_got_initialized
- adding function gtk_grab_remove
- adding function gtk_button_new
- adding function gtk_frame_new
- adding function gtk_major_version
- … lots more of this …
- adding function g_static_rw_lock_writer_unlock
- adding function g_value_set_boxed_take_ownership
- adding function g_boxed_type_register_static
- adding function g_datalist_clear
- dropboxd ran for 15 seconds without quitting – success?
- 看到它的提示了吗,dropbox已经启动了,让你运行15秒后再退出,这个过程就是dropbox生成机器信息并保存到db文件的,其实对于国外的vps来说几秒时间就够了,我们ctrl-c将其退出,完成接下来的步骤
- 5、进入dropbox的dot目录导出机器信息
- $ cd .~/.dropbox
- $ sqlite3 dropbox.db
- SQLite version 3.6.22
- Enter ".help" for instructions
- Enter SQL statements terminated with a ";"
- sqlite> .dump config
- 我们会在导出的信息中看到如下的一串字符
- INSERT INTO "config" VALUES(4,'host_id','VmQ0NWFlMTdmYmQ3OGYzMzgyOTM0NWMzN2Q1MGFkOTIzCnAxCi4=
- ');
- 这个host_id就是机器的唯一标识,我们需要用它来跟自己的账户进行匹配,不过在这之前还有个工作需要做,因为上面的那长串字符很明显可以看出是用base64编码后的结果,我们得先把它解码再说,注意这里dropbox耍了个小花招,这串字符串前面的那个”V“,是无用的,我们在解码后的把它忽略掉
- 6、将base64字符串解码
- $ echo VmQ0NWFlMTdmYmQ3OGYzMzgyOTM0NWMzN2Q1MGFkOTIzCnAxCi4= | base64 -d
- Vd45ae17fbd78f33829345c37d50ad923
- p1
- 我的结果是Vd45ae17fbd78f33829345c37d50ad923,忽略掉”V“,就是d45ae17fbd78f33829345c37d50ad923
- 补充:
- 如果你觉得上面的步骤麻烦,我写了个python脚本,可以直接解出真正的host_id
- try:
- from sqlite3 import dbapi2 as sqlite
- except:
- from pysqlite2 import dbapi2 as sqlite
- import os,pickle,base64
- db_path = os.path.expanduser('~/.dropbox/dropbox.db')
- conn = sqlite.connect(db_path)
- cur = conn.cursor()
- row = cur.execute('SELECT value from config where key = "host_id"').fetchone()
- print pickle.loads(base64.b64decode(row[0]))
- 7、将账户信息与机器信息绑定
- 这步很简单,只需要访问以下网址,并登陆
- HOSTID替换成你刚才解码出来的那串字符就行了
- https://www.dropbox.com/cli_link?host_id=HOSTID
- 8、建立dropbox的同步目录
- dropbox的同步目录默认的是~/Dropbox
- $ mkdir ~/Dropbox
- 9、运行,开始你的同步
- $ ~/.dropbox-dist/dropboxd &
- 到这里dropbox就可以正常运行并同步了,文章标题说的是备份网站数据,那么我们就来使我们的网站数据能够同步到dropbox服务器上
- 其实很简单,就是建立符号连接而已,windows之前是没有这个功能的
- 比如要备份/var/www这个目录
- cd ~/Dropbox
- $ ln -s /var/www web_backup
- 这就可以了,或者要备份/etc目录
- $ cd ~/Dropbox
- $ ln -s /etc etc_backup
- ok.发挥你的想象尽情的使用吧。
下面是备份脚本
XML/HTML代码
- #!/bin/bash
- ### MySQL Server Login Info ###
- MUSER="root"
- MPASS="mysqlpassword"
- MHOST="localhost"
- MYSQL="/usr/local/mysql/bin/mysql"
- MYSQLDUMP="/usr/local/mysql/bin/mysqldump"
- BAK="/root/Dropbox/Data/Database"
- GZIP="/bin/gzip"
- ### FTP SERVER Login info ###
- FTPU="user"
- FTPP="password"
- FTPS="backup.server.ip"
- NOW=$(date +"%Y-%m-%d")
- #[ ! -d $BAK ] && mkdir -p $BAK || /bin/rm -f $BAK/*
- [ ! -d $BAK ] && mkdir -p $BAK
- DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
- for db in $DBS
- do
- FILE=$BAK/$db.$NOW.gz
- $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db --skip-lock-tables | $GZIP -9 > $FILE
- done
- #tar zcvf $BAK/httpdocs/html.$NOW.tar.gz /home/www
- #### FTP 备份 #######
- # lftp -u $FTPU,$FTPP -e "mkdir /db-backup/$NOW;cd /db-backup/$NOW; mput /root/backup/httpdocs/* /root/backup/database/*; quit" $FTPS
- # find /root/backup/database -ctime +2 -exec rm {} \;
- # find /root/backup/httpdocs -ctime +2 -exec rm {} \;
- ### Dropbox 备份#######
- if [ "`ps -e|grep dropbox`" = "" ]; then
- /opt/python2.7/bin/python2.7 /usr/bin/dropbox.py start
- fi
- sleep 5
- while true
- do
- [ "`/opt/python2.7/bin/python2.7 /usr/bin/dropbox.py status`" = "Idle" ] && break
- sleep 20
- done
- /opt/python2.7/bin/python2.7 /usr/bin/dropbox.py stop