开发者社区> 问答> 正文

阿里云Centos使用DropBox定时同步备份方案详


Dropbox(点击注册)是一个提供同步本地文件的网络存储在线应用。支持在多台电脑多种操作中自动同步。

1.在阿里云的centos上安装Dropbox 客户端


ssh登陆,在root目录下输入以下命令,视版本不同而选择:(注:code中已包含cd到root根目录的命令,而且只有在root根目录下后续步骤才能生效)
cd ~ && wget -O dropbox-lnx.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64 && killall dropbox; rm -rf .dropbox-dist && tar xzf dropbox* && rm dropbox*


下载后已自动解压,不需要再执行解压命令。(注意:网址一定要https开头)

2.Dropbox与机器绑定


执行以下命令:

~/.dropbox-dist/dropboxd &




第一次执行会生成“host_id”,这机器与Dropbox进行绑定的唯一字符串,提示的信息是一个链接,而且会重复滚动出现直到绑定完成。复制这个链接在浏览器里访问,输入Dropbox帐户和密码就可以了,输入后会自动跳转到Dropbox主界面并且会有绑定成功的提示,此时在ssh客户端里也会有提示并且停止滚动,再按任意键就完成绑定。
(注:官方的运行命令结尾没有“&”这个符号,在centos下运行会出现ssh冻结无反应的情况,据称Debian也会。实际上守护进程已经在运行了。)

3.建立目录软链接


在root目录下生成的“Dropbox”文件夹(linux文件夹名称区分大小写的),就是Windows里叫做“同步目录”的文件夹,只要把文件放置在里面就会同步。在未同步之前,里面有一个文件夹“.dropbox.cache”和一个文件“.dropbox”。当然我们不可能把网站放置到这里,因此我们需要在里面建立软链接就行了,使用ln命令建立软链接(软链接其实就是windows里的快捷方式),格式是:ln –s 源文件 目标文件,我可以先进入“Dropbox”文件夹,免去每次都需要输入目标文件的麻烦。过程如下:

cd ~/Dropbox
ln -s /home/wwwroot




释义:进入“Dropbox”文件夹,建立/home/wwwroot/ 文件夹的软链接。运行这两个命令后会在“Dropbox”文件夹下生成一个名为“wwwroot”的软链接。如果网站放在不同地方的话,那么就建立多个软链接就好。

4.运行同步守护进程


输入以下命令,这个命令就是之前绑定“host_id”的那个命令。

~/.dropbox-dist/dropboxd &



运行此命令后,视数据大小和网络环境而定,反正美帝的VPS同步都很快,会在浏览器里的Dropbox文件管理界面里看到同步的文件夹。同时,在“Events(活动)”里看到同步记录,记录里有文件数量和文件夹数量,机器与Dropbox帐户的绑定日志也会记录在里面,这个其实就是Dropbox的帐户活动记录。

5.定时同步,节约内存资源


运行守护进程是要占用一定内存的,为了节约这部分内存,可以通过定时运行脚本来控制。过程如下。
在第三步是进入了“Dropbox”文件夹的,我们一般把脚本放在root目录下,因此需要回到root根目录,执行:

cd ~



首选需要关掉守护进程,运行:

killall dropbox



编写定时同步脚本:

vi backup.sh



用vi编辑器新建backup.sh目录,运行后会进入vi编辑器,此时按“I”键进入编辑模式,复制以下代码粘贴进去,按ESC键退出编辑模式,开启大写锁定状态(按“Caps Lock”键),再按两次“Z”键即自动保存并退出vi编辑器。

#!/bin/sh
start() {
echo starting dropbox
/root/.dropbox-dist/dropboxd &
}
stop() {
echo stoping dropbox
pkill dropbox
}
case ”$1″ in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
esac




继续运行以下命令,用“chmod”命令为“backup.sh”添加可执行权限:

chmod  x backup.sh



编写周期性执行指令:

crontab -e



“crontab”命令运行后会自动调用内置的vi编辑器进行编辑,按“I”键进入编辑模式,复制以下两行指令代码并粘贴。

0 4 * * * sh /root/backup.sh restart
0 5 * * * sh /root/backup.sh stop




上面的意思是在每天4点开始同步,5点关闭同步,一个小时一般都够用,除非网站特别大。完成后按“ESC”退出编辑模式,开启大写锁定状态,再按两次“Z”键即自动保存并退出vi编辑器。

6.卸载dropbox


停止守护进程,删除目录就好了。分别执行以下命令:

killall dropbox
rm -rf .dropbox .dropbox-dist Dropbox dropbox.tar.gz dbmakefakelib.py dbreadconfig.py

展开
收起
thisisdong 2013-02-12 10:35:15 15649 0
4 条回答
写回答
取消 提交回答
  • Re阿里云Centos使用DropBox定时同步备份方案详
    阿里云连得上dropbox吗?
    2016-09-03 08:31:41
    赞同 展开评论 打赏
  • 还不错 但是阿里云就算了
    2013-02-13 12:27:51
    赞同 展开评论 打赏
  • Re阿里云Centos使用DropBox定时同步备份方案详
    还好吧.
    2013-02-13 11:36:18
    赞同 展开评论 打赏
  • 挺复杂的。
    2013-02-12 21:55:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载
低代码开发师(初级)实战教程 立即下载