用tar备份linux系统
“那我该用什么来备份我的系统呢?”也许你会问.小事一桩,就像你备份或压缩一个别的文件一样,TAR.不像Windows,Linux不限制根用户存取任何东西,因此,你完全可以把一个分区上每一个的文件放入一个TAR文件中. 来实施这一方法,用这个成为根用户: sudo su 接着去你的文件系统的根目录(在我们的例子中,我们使用它,不过你可以去你希望备份的任何地方,包括远程或可移动驱动器.) cd / 然后,下面就是我用来备份我的系统的完整的命令: tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys 接着,让我们稍微解释一下: * 很明显,''tar''部分就是我们将要使用的软件. * ''cvpfz''是我们给tar加的选项,像“创建一个压缩文档”(这是显然的),“保存权限”(以便使每一个相同的文件有相同的权限),以及“gzip”(缩减大小). * 接下来,是压缩文档将获得的名称,在我们的例子中是backup.tgz. * 紧随其后的是我们想要备份的根目录.既然我们想备份所有东西:/ * 接着就是我们要剔除的目录了.我们不想备份每一样东西,包括有些目录不是非常有用.同时确保你没有把备份文件本身也加进去了,否则,你会得到怪异的结果的.你也许同样不打算把/mnt文件夹包括进来——如果你在那儿挂载了其他分区——否则最终你会把那些也备份的.同时确保你没有任何东西挂载在 /media(即没有挂载任何cd或可移动介质).否则,剔除/media. 如果你想排除所有的其他分区,你可以使用 ''l'' 参数代替 --exclude, 上面的命令看起来象这样: tar cvpzlf backup.tgz / --exclude=/lost found --exclude=/backup.tgz 按:kvidell在论坛主题里建议也剔除/dev目录.不过,我有其他证据表明这样做是不明智的. 好了,如果命令适合你的话,敲击确定键(或者回车键,管它叫什么名字),然后什么都不用干,放松一下.备份也许会花上一段时间. 完了以后,在你的文件系统的根目录会有一个叫作backup.tgz的文件——很可能相当巨大.现在你可以把烧录到DVD上,或者移动到另一台机器,你可以做任何你想做的事情. 按2:在进程的,你也许会得到一条信息,写着“tar:先前错误的耽搁而存在错误”或者其他什么,不过大多数情况下你可以仅仅忽略它. 作为选择,你可以使用Bzip来压缩你的备份.这意味着较高的压缩比但是也意味着较低的速度.如果压缩比对你很重要,只需用“j”替换命令中的“z”, 同时给备份命一个相应的扩展名.这些会使命令变成这样: tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys 2.1. 通过网络备份 如果空白的文件系统太少了并且你又不能挂载其它的文件系统来保存备份文件,你有可能使用 netcat 来完成备份. 在接受端你设置 netcat 用于写备份文件,象这样: nc -l -p 1024 > backup.tar.bz2 然后你传送 tar 命令,不带 ''f'' 参数通过 netcat 在发送端,象这样: tar cvpj / <all those other options> | nc -q 0 <receiving host> 1024 在上面的命令中 1024 仅仅是一个随机的端口号, 任何从 1024 或以上的都可以工作. 如果安全的通过网络备份不依赖文件系统完成备份. 事实上一个真正快的网络比写备份文件到磁盘要快. 在上面的讲述中 (我刚刚发呆,因此我不能证实它是可靠的) 是这个命令: tar cvpj / <all those other options> | ssh <remote host> "cat > backup.tar.bz2" 3. 恢复 警告:看在上帝的份上,在这一部分请小心谨慎.如果你不理解你在这里干 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |