Dotcloud下提供数据备份功能,已经在官方写明了,不过仅限英文文档。今天用官方的方法把博客数据重新备份了一下,感觉良好,于是写下此文。
作为一个云vps来说,shell脚本是必备工具,官方提供了一个备份脚本:点此下载
1.执行该脚本前要做一些工作,先获取mysql的root密码,通过下面的命令调出:
$ dotcloud info malu.mysql #把获取到的密码记录好,第三步要用到
2.登录Dotcloud(假定我的项目名为malu.mysql):
$ dotcloud ssh malu.mysql # $SHELL dotcloud@malu-mysql:~$
3.接下来在用户目录下建立一个隐藏文件~/.my.cnf输入内容(把密码代入):
dotcloud@malu-mysql:~$ vim .my.cnf [mysqldump] user=root password=....
4.使用curl命令下载官方提供的备份文件,并改变权限:
dotcloud@malu-mysql:~$ curl --output backup.sh http://docs.dotcloud.com/_downloads/backup.sh dotcloud@malu-mysql:~$ chmod +x backup.sh
5.执行备份命令,下面只做Ftp备份演示(可以利用一些免费空间):
dotcloud@malu-mysql:~$ ~/backup.sh mysql ftp user:passwd@ftp.malu.me Backup 2011-07-28_07:57:47_UTC completed. Its (compressed) size is 713655 bytes.
OK了,只要5步过程,登录ftp目录查看一下是否已经在了。
当然要让它自动执行,只要写入Crontab里:
dotcloud@malu-mysql:~$ crontab - <<EOF MAILTO="malu.me" $[$RANDOM%60] $[$RANDOM%24] * * * ~/backup.sh mysql ftp user:passwd@ftp.malu.me 2>&1 | mail -s "Backup result for $HOSTNAME" malu@malu.me EOF
备份工作执行完成后,会发送一封邮件给指定用户。
一切就这么简单,Dotcloud官方详细的文档可供参考: