免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2134 | 回复: 0
打印 上一主题 下一主题

pdumpfs 快照式备份系统的应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-11 15:01 |只看该作者 |倒序浏览
翻译自:http://0xcc.net/pdumpfs/index.html.en
翻译者:Nanu (Comsenz Inc.)
注:翻译过程中加入了一些注释,同时做了微小的修改和说明。

什么是 pdumpfs ?
pdumpfs 是一个简单的每日备份系统,类似于 Plan9 的 pdumpfs 系统。它能够每天生成一个
系统快照(Snapshot)。pdumpfs 是使用 Ruby 语言开发的。你可以访问过去过去任何时间的任
何文件。

pdumpfs 在目标备份文件夹中生成 YYYY/MM/DD 格式的备份文件夹。在第一次执行备份操作时,
系统中的所有文件都被复制到快照备份文件夹中。之后的每天,pdumpfs 仅复制被更新或者新增
的文件。为了节省磁盘空间,未发生改动的文件会以前一天的硬链接形式保存在当天的快照文件
夹中。

一、下载
1. Ruby - http://http://www.ruby-lang.org
2. pdumpfs - http://0xcc.net/pdumpfs/index.html.en

二、安装
1. Ruby
./configure --prefix=/usr/local/ruby --with-pthread
make && make install
ln -s /usr/local/ruby/bin/erb /usr/bin/erb
ln -s /usr/local/ruby/bin/irb /usr/bin/irb
ln -s /usr/local/ruby/bin/rdoc /usr/bin/rdoc
ln -s /usr/local/ruby/bin/ri /usr/bin/ri
ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby
ln -s /usr/local/ruby/bin/testrb /usr/bin/testrb


2. pdumpfs
进入 pdumpfs 解压后的目录。
make
mv pdumpfs /usr/bin/pdumpfs

三. pdumpfs 的使用
1. 基础用法
pdumpfs <source_directory> <destination_directory>

2. 示例
如需备份 /data/www 文件夹下的所有数据到 /backup 文件夹,则执行:

pdumpfs /data/www /backup > /backup/backup.log 2> /backup/error.log

首次执行该命令后,/data/www 文件中的所有内容都会被复制到 /backup/YYYY/MM/DD
文件夹中,之后的每天仅仅进行增量快照备份,备份过程中的输出信息被记录在
/backup/backup.log 日志文件中,而备份过程中发生的错误将被记录在 /backup/error.log
日志文件中。

为了自动进行每天的快照备份,将备份作业加入到 cron 计划任务系统中(每天凌晨 5 点):
crontab -u root -e
加入:
# pdumpfs daily snapshot backup
00 05 * * * pdumpfs /data/www /backup > /backup/backup.log 2> /backup/error.log


3. 将特定文件/文件夹从备份作业中排除
如果不希望 pdumpfs 备份特定的文件或文件夹,可以使用如下选项:

--exclude=PATTERN
排除所有匹配 PATTERN(Ruby 模式的正则表达式)参数的文件和文件夹。可以制定多个排除
选项参数。如果 PATTERN 给出的是一个绝对路径,则匹配仅对该绝对路径生效。

--exclude-by-size=SIZE
在备份操作中排除所有大于 SIZE 的文件。SIZE 可以指定为 100、100K、10M 或 1G。

--exclude-by-glob=GLOB
排除所有匹配 GLOB 参数的文件和文件夹。GLOB 使用通配符的模糊参数,如:*.doc。

示例:
# 在备份过程中,排除所有匹配 "phpwind" 或 "dvbbs" 的文件和文件夹。
pdumpfs --exclude 'phpwind|dvbbs' /data/www /backup

# 在备份过程中,排除所有大于 10MB 的文件。
pdumpfs --exclude-by-size=10M /data/www /backup

# 在备份过程中,排除所有 *.wav 文件。
pdumpfs --exclude-by-glob "*.wav" /data/www /backup

四、限制
1、pdumpfs 只能处理普通文件、文件夹以及符号链接;
2、pdumpfs 并不适用于处理备份更新非常频繁的大文件;
3、使用 pdumpfs,由于保存了过去每天的快照备份点,所以你可以随意删除不需要的
    文件。但是,不要绝对信任 pdumpfs,因为 pdumpfs 可能存在一些未知的 BUG 导
    致备份异常。

五、提示
1、如果一个文件以 10MB/天 的速度增长,那么该文件 1 年所需的备份空间大约为 4GB。
    可据此推算你的系统需要准备多少空间进行备份;
2、建议源数据和备份数据不要存放在同一物理存储介质上;
3、在 Linux EXT2/EXT3 文件系统中,为了防止诸如 rm -rf 这样的毁灭性误操作,可以
    使用 chattr 命令对备份文件进行永久性锁定。以 root 身份执行:
    chattr -R -i /backup

[ 本帖最后由 Nanu 于 2007-10-11 15:06 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP