安恒网管员手记:linux服务器文件备份
2004-10-29    刘世伟   
打印自: 安恒公司
地址: HTTP://analyzeair.anheng.com.cn/news/article.php?articleid=471
linux服务器文件备份

域服务器上面的文件越来越多,越来越大,无论开多大的空间,同事们总是能把它装满.
怎么进行安全的备份,一直在困绕着我,比较了很长时间,总算是确定了一个工具,那就是pdumpfs,pdumpfs使用ruby语言写的,ruby是类似于bython的一种面向对象的脚本语言,也是一个历史悠久的语言了,
pdumpfs 可以实现每天保存一个文件目录的快照,用硬连接的方式,实际上用很少的硬盘空间保存了每天的文件目录状态,用年/月/日做目录名,要想恢复某天的文件目录,只要进入相应的目录就可以了.这对于文件备份是一种近乎完美的方案.

debian下安装很简单:
apt-get install pdumpfs

假设要把/home下的文件备份到/home1
备份的命令就是:
pdumpfs /home /home1

每自动运行,在/etc/crontab增加一行:
2 12,18 *  * * root  pdumpfs /home /home1
这样,每天的12:02和18:02就可以自动运行备份,

高级用法:
限制文件大小,超过30M的不做备份:
pdumpfs --exclude-by-size 30M /home /home1
排除 *.CAB,*.cab,*.exe:
pdumpfs --exclude-by-glob "*.CAB" --exclude-by-glob "*.cab" --exclude-by-glob "*.exe" --exclude-by-size 30M /home /home1

自动运行,备份并且把备份情况发mail给管理员:
2 19 * * * root pdumpfs --exclude-by-glob "*.CAB"  --exclude-by-glob "*.cab" --exclude-by-glob "*.exe" --exclude-by-glob "*.EXE" --exclude-by-glob "*.zip" --exclude-by-glob "*.ZIP" --exclude-by-size 30M -q -l /tmp/bak.log /home /home1;sendmail shiwei@cfido.com </tmp/bak.log

提取备份数据:
比如提取2004-11-30的文件,只要进入/home1/2004/11/30/home,可以看到一个跟/home完全一样的目录结构

责任编辑: admin