Box.com是个不错的东西,官方支持WebDAV和ftp,不过在国内被认证了,所以国内服务器用户就不要想了。(今后我尽可能保证无视删除线标记的内容的情况下句子能够读的没有违和感,尽情地无视细节吧)
使用条件:
Linux服务器要有Root权限,服务器要支持FUSE(不然ftp和webdav无法挂载)OpenVZ请止步于此。目前看来,Xen PV/HVM,KVM,Hyper-V都是支持的,当然独立服务器就更不用说了。

第一步:注册Box服务
利用q外网络登录www.box.com ,然后注册一个账号,记住邮箱和密码(废话)

第二步:安装davfs并挂载box.com
进入命令行,依次键入以下命令(部分步骤可以省略)

sudo su;  (进入root账号)
apt-get install davfs2; (安装davfs)
cd ~;  (进入root文件夹)
mkdir box;  (创建box文件夹)

安装完毕后编辑/etc/davfs2/secrets,在文件的任意一个空行填入https://dav.box.com/dav yourname@example.org【你注册Box.com的邮箱】 YourPassword【你的Box.com密码】并保存(也可以在文集尾部新建一行)。

接下来就可以挂载了,输入命令mount -t davfs https://dav.box.com/dav /root/box
如果没有显示任何内容(没有报错),这时就可以到/root/box里检查是否有一个叫"Default Sync Folder"和"lost+found"的文件夹了。出现内容即代表挂载成功。

第三步:开机自动挂载
编辑/etc/rc.local,加入一行mount -t davfs https://dav.box.com/dav /root/box(如果文件中有exit 0,那就把这一行加放在exit 0上面)
之所以放在rc.local而不是fstab里,主要是为了方便。

第四步:编写打包脚本
挂载搞定了,剩下的当然就是往box里复制文件了,这里讲备份mysql和打包备份目录文件

首先在box里新建一个文件夹,专门存储服务器备份:

mkdir /root/box/serverbackup;

然后在/root文件夹内新建一个backup.sh文件,填入

mysqldump -u root --password=你的mysql密码 --all-databases > /root/box/serverbackup/backup.sql; //(备份mysql)
tar czf /root/box/serverbackup/备份名称1.tar.gz 你想备份的目录完整路径2/*;
tar czf /root/box/serverbackup/备份名称2.tar.gz 你想备份的目录完整路径2/*;

上面所有中文改成你想要的值(最好英文字母和数字),/*不要去掉,这代表打包该目录下所有文件,如果有更多备份路径可以新增,不同备份名称不要重复。保存后注意执行chmod +x /root/backup.sh赋予执行权限
给出我的备份脚本示例

mysqldump -u root --password=xxxyyyzzzthisismypasswd --all-databases > /root/box/serverbackup/backup.sql  (备份mysql)
tar czf /root/box/serverbackup/apachesites.tar.gz /var/www/* (备份apache网站)
tar czf /root/box/serverbackup/ghost-kaze-no-oto.tar.gz /home/user/ghost/* (备份Ghost博客)

需要注意:Box的单文件大小是有限制的,不要超过这个限制,否则会失败。
另外我的脚本里的路径和用户名还有密码都和谐掉了所以说不用去尝试哈~

第五步:添加cron定时任务
编辑/etc/crontab文件,这里以我想每天凌晨1时30分备份为例(注意时区要设置正确,否则不小心在高峰期备份就不好玩了),添加一行

30 1    * * *   root    /root/backup.sh

定期执行第四步创建的backup.sh即可。

小提示:这样备份会产生传出流量,如果数据很大并且流量紧张,建议将备份周期设置长一些,crontab的用法就不多说了。

如此一来,应付小提供商跑路的问题就解决了。搭建blog或者个人小站可以放心用廉价Xen VPS了。