这是一个在服务器端备份文件的Python脚本,脚本根据上次执行备份任务的时间点,将所有修改时间比这个时间点更晚的文件打包成tar.gz文件,并邮寄到指定邮箱。这样的备份方式是一种比较简单的增量方式,所有修改过的文件版本都会被记录下来,在需要访问时找到相应的打包文件解压处理即可。但是所有文件删除操作不会被记录下来。

本脚本已经在Lunarpages的虚拟主机空间上测试并应用。

英文说明参见:En.MailDiffBackup

On this page... (hide)

  1.   1.  环境需求
  2.   2.  脚本下载
  3.   3.  使用说明
  4.   4.  可能出现的问题
  5.   5.  后记

1.  环境需求

  • Python 2.3以上

2.  脚本下载

0.1版本:Attach:MailDiffBackup_0.1.zip

3.  使用说明

 python MailDiffBackup.py -s 将被备份的目录 -t 临时文件夹 -p 打包备份文件前缀 -m 接收备份文件的邮箱地址

由于Lunarpages支持Python和Cron,因此可以使这个备份脚本定期执行。比如

 15 3 * * * python /home/soongs0/MailDiffBackup.py -s /home/soongs0/public_html/elias -t /home/soongs0/tmp -p elias.cn -m MyMail@MailServer.com
会在每天3点15分执行备份脚本,并将备份文件发送到MyMail@MailServer.com。

4.  可能出现的问题

这个脚本没有保证打包后的文件大小一定不会超过邮件服务器允许的最大附件大小。如果出现附件过大的情况,建议减小备份时间间隔,这样应当能够控制住打包备份文件的大小。

5.  后记

以前就考虑过用Python做一个网站自动增量备份工具,因为当时发现所用的网站空间和域名的提供商把价格调低了好多,觉得有点不靠谱。。当时想过除了通过脚本自己实现增量功能外,还可以考虑利用Subversion作为存储平台,自然实现增量的功能。

如果有一台24小时开着的机器的话,也有很多其他的办法可用,比如服务器开放FTP,使用客户端连接远程FTP抓取文件实现备份:在Windows下可以用Handy Backup,而Linux下则可以使用Linux.FtpBackup中记录的方法。

GlossyBlue theme adapted by David Gilbert
Powered by PmWiki