设为首页 收藏本站
查看: 740|回复: 0

[经验分享] 用Perl脚本实现FTP的文件下载

[复制链接]

尚未签到

发表于 2018-8-31 07:48:30 | 显示全部楼层 |阅读模式
  #提取数组信息,将不同的系统信息进行归类,大概有11类操作系统及机台系统
  foreach $data (@raw_data)
{  if ($data =~ /LTXC/) {
  my $position = rindex ($data,"LTXC");
  $data = substr ($data,$position,5);
  push(@LTX, "$data");
  }
  elsif ($data =~ /LHT-/) {
my $position = rindex ($data,"LHT-");  $data = substr ($data,$position,6);
  push(@LHT, "$data");
  }
  elsif ($data =~ /LMX-/) {
my $position = rindex ($data,"LMX-");  $data = substr ($data,$position,6);
  push(@LMX, "$data");
  }
  elsif (($data =~ /HP93K/) && (!($data =~ /L/))){
my $position = rindex ($data,"HP93K");  $data = substr ($data,$position,7);
  push(@HP93, "$data");
  }
  elsif (($data =~ /HP93K/) && ($data =~ /L/)){
my $position = rindex ($data,"HP93K");  $data = substr ($data,$position,8);
  push(@HP93, "$data");
  } elsif ($data =~ /HPPS-/){
  my $position = rindex ($data,"HPPS-");
  $data = substr ($data,$position,7);
  push(@HPPS, "$data");
  }
  elsif ($data =~ /HPQD-/){
my $position = rindex ($data,"HPQD-");  $data = substr ($data,$position,7);
  push(@HPQD, "$data");
  }
  elsif ($data =~ /HPLC-/){
my $position = rindex ($data,"HPLC-");  $data = substr ($data,$position,7);
  push(@HPLC, "$data");
  }
  elsif ($data =~ /IFLEXC/){
my $position = rindex ($data,"IFLEXC");  $data = substr ($data,$position,8);
  push(@IFLEX, "$data");
  }
  elsif ($data =~ /UFLEX-/){
my $position = rindex ($data,"UFLEX-");  $data = substr ($data,$position,8);
  push(@UFLEX, "$data");
  }
  elsif ($data =~ /UFHD-/){
my $position = rindex ($data,"UFHD-");  $data = substr ($data,$position,7);
  push(@UFLEX, "$data");
  }
  elsif (($data =~ /CAT-\d\d\d/) && (!($data =~ /T$/)) && (!($data =~ /isolated/))){
my $position = rindex ($data,"CAT-");  $data = substr ($data,$position,7);
  push(@CAT, "$data");
  }
  elsif (($data =~ /CAT-\d\d/) && (!($data =~ /T$/)) && (!($data =~ /isolated/))){
my $position = rindex ($data,"CAT-");  $data = substr ($data,$position,6);
  push(@CAT, "$data");
  }
  elsif (($data =~ /TGR-/) && (!($data =~ /T$/))) {
my $position = rindex ($data,"TGR-");  $data = substr ($data,$position,6);
  push(@TGR, "$data");
  }
  }
#根据$arg1,确定要收集那些机台的数据  if (($arg1 =~ /^LTXC$/) || ($arg1 =~ /^LHT$/) || ($arg1 =~ /^LMX$/) || ($arg1 =~ /^HP93$/) || ($arg1 =~ /^HP93L$/) || ($arg1 =~ /^HPPS$/) || ($arg1 =~ /^HPQD$/) || ($arg1 =~ /^HPLC$/) || ($arg1 =~ /^IFLEXC$/) || ($arg1 =~ /^UFLEX$/) || ($arg1 =~ /^UFHD$/)  || ($arg1 =~ /^CAT$/) || ($arg1 =~ /^TGR$/))  {
  print "Collecting for all $arg1\n";
  @tester = @$arg1;
  }
  elsif (($arg1 =~ /^LTXC\d$/) || ($arg1 =~ /^LHT-\d\d$/) || ($arg1 =~ /^LMX-\d\d$/) || ($arg1 =~ /^HP93KC\d$/) || ($arg1 =~ /^HP93KC\dL$/) || ($arg1 =~ /^HPPS-\d\d$/) || ($arg1 =~ /^HPQD-\d\d$/) || ($arg1 =~ /^HPLC-\d\d$/) || ($arg1 =~ /^IFLEXC\d\d$/) || ($arg1 =~ /^IFLEXC\d$/) || ($arg1 =~ /^UFLEX-\d\d$/) || ($arg1 =~ /^UFHD-\d\d$/) || ($arg1 =~ /^CAT-\d\d$/) || ($arg1 =~ /^CAT-\d\d\d$/)|| ($arg1 =~ /^TGR-\d\d$/) )  {
print "Collecting tester $arg1\n";  @tester = ("$arg1");
  }
  elsif ($arg1 =~ /^ALL$/) {
print "Collecting for all tester\n";  @tester = (@LTX, @LHT, @LMX, @HP93, @HPPS, @HPQD, @HPLC, @IFLEX, @UFLEX, @UFHD, @CAT, @TGR);
  }
  else {
print "Usage Tester_config_download.pl var1\n";  print "var1 = HPPS      --> run for all HPPS\n";
  print "var1 = HPPS-01   --> run for HPPS-01\n";
  print "var1 = ALL --> run for all tester\n";
  print "supported tester platforms are LTX, LHT, LMX, HP93, HPPS, HPQD, HPLC, IFLEX, UFLEX, UFHD\n";
  exit 1
  }
#根据不同的机台类型在服务器上建立相应的目录  @tester = sort(@tester);
  foreach $element (@tester){
  if( !-d "$Dir_server/$element") {
  mkdir "D:/inetpub/ftproot/OTPMS/$element";
  }
  chdir "D:/inetpub/ftproot/OTPMS/$element";
  print "D:/OTPMS/$element\n";
  if ( (!($element =~ /CAT/)) && (!($element =~ /TGR/)) )  {
  print "starting ftp to $element \n";
  #建立连接
$ftp = connect_ftpserver();  # 开始下载文件
  $ftp->binary();
  hosts_retry:
  $err=0;
  if ($element =~ /LTXC*|LHT-*|LMX-*/) {
  $ftp->cwd($Dir_tester_lcx);
  print "$Dir_tester_lcx\n";
  mget($ftp, ".iu_all_output");
  }
  elsif ($element =~ /^HP93KC\d$/) {
$ftp->cwd($Dir_tester_hp);  mget($ftp, "di_log_file_$year.$month.$date*");
  }
  elsif ($element =~ /^HP93KC\dL$/) {
$ftp->cwd($Dir_tester_hp);  mget($ftp, "di_log_file_$year.$month.$date*");
  }
  elsif($element =~ /HPPS-*|HPQD-*|HPLC-*/){
$ftp->cwd($Dir_tester_hp);  mget($ftp, "di_log_file_$year.$month.$date*");
  }
  elsif($element =~ /IFLEXC*|UFLEX-*|UFHD-*/){
$ftp->cwd($Dir_tester_tera_win) or warn $ftp->message;  print "$Dir_tester_tera_win\n";
  mget($ftp, "IGXLEventLog.$month.$date.$year*");
  }
$ftp->quit();  }


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-559082-1-1.html 上篇帖子: 《Perl语言入门》之六——正则表达式 下篇帖子: 《中级perl》笔记 - 3, 数组引用 (2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表