Dotcloud mysql数据备份

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官方详细的文档可供参考:

http://olddocs.dotcloud.com/tutorials/database-backup/

此条目是由 malu8 发表在 未分类 分类目录的。将固定链接加入收藏夹。

评论已关闭。