[Linux 相关文章] 使用lftp来同步(备份)数据

Jul 21st, 2009

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2009/07/21/lftp_mirror.html

管理的一个存储坏了,有部分数据不能正常的读出来.实在没法恢复了.只能备份.但不正常的文件夹只要操作过,就会让这个硬盘都不能读,需要重新mount.所以必须跳过那些不能正常访问.

所以写了个小脚本来备份.使用du来检查,跳过不能操作的文件,给还完好的文件进行备份

#!/usr/bin/perl
use strict;
use File::Spec;

die "需要一个参数" unless($ARGV[0]) ;
open FILE,"ls $ARGV[0]|" or die "fail $?";
while(<FILE>){
 my $path = File::Spec->catfile("$ARGV[0]","$_");
 chomp($path);
 my $stat = system("du","-sh","$path");
  if($stat == 0){
     system("lftp -u user,passwd -e \"mirror  -R  ‘$path’ –ignore-time –verbose && quit\" IP");
       }
}
要使用就指定要备份的目录就行了.

 #perl syncftp.pl /data/9/mnt/

根据经验,ftp比rsync快很多,以后如果有大量数据备份,还是考虑使用ftp好了.我的1000M的网络,他直接用光.实在是快.

以上最重要的一句是lftp -u user,passwd -e \"mirror  -R  ‘$path’ –ignore-time –verbose && quit\" IP.这个是使用lftp这个超好用的ftp客户端,在本地判断跳过文件后,使用它来传送资料,使用的他的反向镜像的功能.只使用文件大小对比.

非常建议需要大量备份数据时,使用lftp的mirror的功能.有关lftp的另外的详细使用请看我原来的文章强大的lftp.

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
Tags: , ,
No comments yet.