用gmail做备份,只需要定期将要备份的blog内容打包压缩,再用email客户端将它作为附件通过mails服务器发送到 gmail信箱。dcron可以实现定时执行,用tar可以将blog资料打包并借助bzip2压缩,而email是个很好的邮件客户端,我的备份方案很容易就能实现了,需要做的只是安装几个软件包并配置一下,再写几行代码就行了。

dcron的配置文件为/etc/crontab,之需要在这个文件中添加相应的记录就行。有一点得注意:在修改完/etc/crontab后,必须用crontab命令读取该文件生成实际的任务列表,用法如下:

# crontab /etc/crontab

我想让备份任务在每天执行,那就更简单了,只需将做备份的脚本在 /etc/cron.daily下做个链接。

tar 是做档案的强大工具,实现我所需要的功能,命令为:


tar cfj blogs.tar.bz2 -C /var/www/localhost/htdocs blogs --exclude=images

上面没有将images目录打包进去,因为它并不是很重要,而且体积庞大,且不常更新,可以考虑其他的备份方式。

email是我今天才发现的一个工具,通过gentoo包管理系统中的eix工具查找到的,非常棒,相见恨晚。它支持地址本、个性签名、加密、附件、配置文件等,使用起来非常方便,更多信息可以到email的主页 察看。它不需要本地的sendmail服务,可以用外部的smtp服务器,支持用户认证,用mails可以很方便的发送邮件。比如我想往gmail的backup信箱发送一个文件,只需要这么一句:

# email -s "file backup" -b backup -a blogs.tar.bz2

前提是已经将配置文件设定好了。

完整的代码如下:

#!/bin/bash

DATE=`date +%F`
FILE="/tmp/blogs-${DATE}.tar.bz2"
BASEDIR="/var/www/localhost/htdocs/"
tar cfj $FILE -C ${BASEDIR} blogs --exclude=images
email -s "backup blog" -b backup -a $FILE
rm $FILE

呵呵,够简单吧。我之前还想自己用Python写一个发送邮件的程序,看来完全没有必要造轮子了,如果是抱着实践Python的原则,倒还是可以。

以后就用这种方式把重要的资料都扔到Gmail上去:-)

posted on 2008-11-26 15:48  来自天堂里的另一天!  阅读(216)  评论(0编辑  收藏  举报