【问题标题】:How to get modified date & Time of a ftp directory using perl script如何使用 perl 脚本获取 ftp 目录的修改日期和时间
【发布时间】:2014-05-06 09:46:02
【问题描述】:

我编写了一个 Perl 脚本,它将登录到 ftp Unix 服务器,并检查文件在特定目录中是否正常处理。如果文件在这些处理目录中被击中超过 10 分钟,它将触发我的团队邮件 ID 的警报。

此 Perl 脚本通过在任务计划程序中计划的批处理文件在 Windows 服务器上运行,每 5 分钟运行一次。 我可以获取 ftp 文件的时间并将其转换为我的 Windows 服务器时间。到目前为止,一切都运行良好。

现在我有一个新要求,我应该检查同一 ftp 服务器中备份目录的最后修改日期。最初我的想法是列出文件并可以获得最后收到的文件日期(类似于我提到的上述过程)。但我的主要限制是备份目录将有近 1000 个文件,并且列出和获取时间不是一个好方法。

下面是我之前用来获取 FTP 文件时间和日期的模块。

use File::Listing qw(parse_dir);

【问题讨论】:

    标签: perl ftp perl-module


    【解决方案1】:

    Perl 中的stat DIRHANDLE 操作在显示目录的路径名时会显示有关该项目的信息数组。数组中是修改时间。

    stat

    您可能必须尝试使用​​它才能使其正常工作,尤其是当您正在查看修改时间的目录的子目录发生更改时。

    【讨论】:

      【解决方案2】:

      您可以使用此代码查看任何特定文件夹中文件的详细信息:

      use strict;
      use warnings;
      use Net::FTP;
      
      my ($ftp, $host, $user, $pass, $source_dir);
      $host = "your_host_name";
      $user = "Your_user_id";
      $pass = "Your_password";
      $source_dir = "any_source_DIR";
      print "Connect in...\n";
      $ftp = Net::FTP->new($host, Debug => 0) || die "Couldn't ftp to $host: $@";
      
      print "Logging in...\n";
      $ftp->login($user, $pass) || die "Couldn't login to $host: ".$ftp->message;
      
      print "Getting files from \"$source_dir\"\n";
      $ftp->cwd($source_dir);
      
      my @files = $ftp->dir();
      
      foreach (@files){
          print "$_ \n";
      }
      

      【讨论】:

        【解决方案3】:

        (CC)http://www.perlmonks.org/?node_id=190020

        my $file_mdtm = $f->mdtm($file) or die "Can't find $file in $dir\n";
        
        my $five_days = 3600*24*5;    # five days in seconds
        
          if (time - $file_mdtm >= $five_days)
        
          {
        
        print "$file is more than 5 days old\n";
        
          }
        

        【讨论】:

        • 这不是问题的答案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-16
        • 2010-09-19
        • 2012-12-01
        相关资源
        最近更新 更多