Linux 服务器使用 Dropbox 备份数据

这个blog之前一直放在 photonvps 上,结果丫们除了隔三差五宕机、访问速度慢之外,居然还给我来了个硬盘错误,把我的数据全整没了,丫们客户除了给我发了封说明邮件之外啥补偿都没有,你就是给我免一个月的费用我也能顺顺气不是。

所以一怒换到了传说中的高档货 Linode 上了,价格果然很贵,不过速度也确实很快,管理界面也丰富的很,所以说便宜没好货,好货不便宜,这是亘古不变的真理。

其实吧,现在这个blog基本就是半死不活状态,整vps的目的主要是为了翻墙用(妈的,GFW太tm坑人了,搞的我每月花费20美刀啊),不过毕竟ssh、vpn啥的都可以搭建自用,省得天天到处找免费工具。实践证明:时间果然tmd是金钱,想省时间可不就得多花钱了。

之前的wordpress备份主要是用那个备份插件搞的,每天发一封导出的SQL附件到Gmail邮箱,这次准备全都改成 dropbox 来备份。毕竟俺的 dropbox 账号已经有70多G了——好吧,其中的48G是2年期,用的三星手机扩容。

目前网上已经不少文章介绍使用 dropbox 来备份 VPS,有的是定时启动 dropbox 程序来同步,有的是使用那个 github上的脚本调用 dropbox api来上传。后者其实只是进行备份操作,而放弃了“同步”这个优势。但前者也存在一个问题,那就是会把dropbox下已有的内容也同步到VPS上,白白占用空间。所以都不完美。

其实呢,目前 dropbox 官方已经提供了 python 的备份脚本了,用这个来调用 dropbox 进程进行同步很省事,而且最理想的是它可以把那些不需要的目录都排除掉。

既然是vps,估计是没有图形界面的,所以直接命令行安装 dropbox吧,推荐用root来安装,因为我连 /etc 目录都备份了。直接参照官方文档就ok了,然后运行一下命令并根据提示将此vps与dropbox关联。之后下载那个Python脚本(其实就是官方文档里面的那个 CLI script 链接),按自己习惯随便扔到哪个目录下都行(我就放在了 /root/bin 下面)。之后运行 python dropbox.py 就会显示帮助信息:

Dropbox command-line interface

commands:

Note: use dropbox help <command> to view usage for a specific command.

status get current status of the dropboxd
help provide help
puburl get public url of a file in your dropbox
stop stop dropboxd
running return whether dropbox is running
start start dropboxd
filestatus get current sync status of one or more files
ls list directory contents with current sync status
autostart automatically start dropbox at login
exclude ignores/excludes a directory from syncing
lansync enables or disables LAN sync

可以启动、停止 dropbox,重点需要关注的是 exclude 命令——运行 python dropbox.py help exclude 可以查看详细的命令介绍——这个命令可以将不需要同步的文件夹排除出去,使用方式是: python dropbox.py exclude add dir1 dir2 dir3…

尤其需要注意的是,运行上述命令一定要 cd 切换到 Dropbox 目录下(一般是 /root/Dropbox),不像其它命令可以随便在其它位置运行,我就在这被坑了半天。

有了这个脚本就简单多了,随便写个自己的sh脚本将一系列操作组合起来,然后扔到 crontab 下去定时执行就可以了。这些东西就不详述了,比较简单。

我目前的备份策略是:

  • 在 dropbox 里面专门创建个 Linode 目录
  • 通过 dropbox.py 排除其它目录,只保留此目录同步到 VPS
  • 使用ln 建立软连接到此目录,包括内容如下:
    •  /etc
    •  wordpress 以及其它程序所在目录
    •  nginx 配置
  • 定时通过mysqldump导出数据库并压缩到此目录,只保留10天的备份文件
  • 每天晚上启动一次 dropbox,运行30分钟后停止

全都自动化,搞定收工。

别了,Dreamhost……

真是不幸,刚把wordpress的版本控制功能屏蔽,就丢了这篇文章。重写,简单写写。。。

前天花了大半天时间把someok所有相关域名都从dreamhost迁移到了godaddy,算是基本告别这个死要钱的Private Server(隔三差五就是5美刀、10美刀的账单,慢刀子割肉,也疼)。

刚刚跑去查了下,发现是2007-3-7买的dreamhost空间,不知不觉3年已经过去了,能在一个地方呆三年,基本都有点故乡的感觉了,所以,在此和dreamhost握个手,告个别。

再见,仨尤娜拉,骨的败……

Blog与书库迁移中

有点受不了dreamhost的ps的低能,丫没事就告诉我已经超了多少美元了,让我抓紧付费,我靠,我这流量多少我知道,你丫这么捞钱有点不够意思了吧。

所以决定迁移,直接换个vps算了,不过由于之前对于vps不了解,暂时拿了个最便宜的photonvps来练手,打九折,一个月9美元多点,跟dreamhost也差不多了。

现在软件基本装上了,这两天准备把Blog和Blah书库都迁移过去,域名解析估计会有点影响。

blog近期更新

本文只是个备忘。

这次更新仍然采用的Sandbox这个基础Theme的代码,样式仍然也是原来的样式,不过把Wordpress 2.7的一些功能也打开了,具体更新如下:

  • 页面宽度从原来的自适应改为固定宽度960px。当初为了实现三栏结构的自适应还花了不少时间,不过前一阵在一台大屏幕(巨大)机器上访问了下这个blog,发现问题很严重,看一行文字需要脑袋从左至右长途奔袭,当然这样对颈椎有好处。
  • 留言改成了Thread Comments模式,也就是可以回复别人的留言。Trackback仍然是分离出来的,Wordpress居然没有提供个读取Trackback数量的Api,只有获得所有留言(Trackback也算在了留言里面)的,所以自己写了个方法,PHP用着就是简单。
  • 作者(这里只有老郁)留言的样式搞成了绿底,与其他人区分开来了。
  • 可以显示Avatar头像了,不过国内用这个的人确实不多,下面准备学习我爱水煮鱼的方法,搞成显示Twitter的头像,这个算TODO了。
  • 增加了个BackType插件,用来聚合分散在各处的留言(具体用法参见Riku的介绍)。用的过程中发现,这个BackType网站还可以把你在别人blog上的留言给你聚合起来,当然,这个功能需要你先注册,另外,好像也只支持Wordpress、Blogger之类的国外主流blog系统,示例可以看我的

嗯,此次更新好像主要还是对留言下手的啊。