'在 Debian 上使用 CloudFUSE + Rsync 同步本地文件到 Rackspace Cloud Files'

Showfom 这个 MJJ 的昨天说要把自己的图片同步到 Rackspace Cloud Files 去,让我写个小脚本来实现一下。

但是,作为一个 MJJ 的。。。能偷懒的,当然要偷懒!没事儿自己挖什么坑呢真是的,填不平又有强迫症。

不扯淡了,先安装一下依赖:

1
apt-get install -y build-essential fuse-utils libfuse-dev libcurl3-dev libxml2-dev libssl-dev

然后下载 CloudFUSE,编译,安装:

1
2
3
4
5
6
wget http://github.com/redbo/cloudfuse/tarball/master
tar zxf master
cd redbo-cloudfuse-809b07e
./configure
make
make install

编译的时候可能会提示

cloudfsapi.c: In function ‘send_request’:

cloudfsapi.c:140: warning: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument for this option

看了下代码,这里用的是 off_t,不过其实 off_t 就是 long 的马甲啦 [1],所以这段 Warning 不用管,直接继续就好。

接下来在 ~/.cloudfuse 写下配置

1
2
username=[Account username]
api_key=[API key (or password for Keystone API)]

当然你也可以用偷懒的办法不写配置文件直接挂载

1
cloudfuse -o username=aveline,api_key=123123123 /mnt

或者是写在 /etc/fstab

1
cloudfuse /mnt fuse username=aveline,api_key=123123123,user 0 0

然后,挂载~同步

1
2
cloudfuse /mnt
rsync -av ~/dropbox /mnt/test/

大功告成咯~

[1] Where to find the complete definition of off_t type? – Stack Overflow