如何检查ftp中的磁盘使用情况?

afbr1201

有没有一种方法可以总结在ftp中某个目录的磁盘使用情况我试图创建一个脚本,该脚本将检查当前目录的磁盘使用情况,并打印出主目录的可用空间。

例子:

ftp> cd /home/directory/
drw-rw-rw-   1 user     group           0 Nov 16 /directory
drw-rw-rw-   1 user     group           0 Nov 16 next/directory
drw-rw-rw-   1 user     group           0 Nov 16 next/next/directory

由于某种原因,我看不到目录的任何大小。但是在它们里面是我需要检查使用情况的文件,因此我必须得到如下内容:

total disk usage for /home/directory = "some count"
total disk usage for /next/directory = "some count"
total disk usage for /../directory = "some count"
afbr1201

您可以使用Perl。http://aplawrence.com/Unixart/perlnetftp.html中

#!/usr/bin/perl
my $param = $ARGV[0];
# required modules
 use Net::FTP;
 use File::Listing qw(parse_dir);

 sub getRecursiveDirListing
  {
      # create a new instance of the FTP connection
      my $ftp = Net::FTP->new("fftpserver", Debug=>0) or die("Cannot connect $!");
      # login to the server
      $ftp->login("username","password") or die("Login failed $!");

      # create an array to hold directories, it should be a local variable
      local @dirs = ();

      # directory parameter passed to the sub-routine
      my $dir = $_[0];

      # if the directory was passed onto the sub-routin, change the remote directory
      $ftp->cwd($dir) if($dir);

      # get the file listing
      @ls = $ftp->ls('-lR');

      # the current working directory on the remote server
      my $cur_dir = $ftp->pwd();

      my $totsize = 0;
      my $i = 0;
      my @arr = parse_dir(\@ls);
      my $arrcnt = scalar(@arr);
      if ($arrcnt == 0) {
        print "$cur_dir 0\n"; 
        $ftp->quit();
        exit 1;
      }
      else {
      # parse and loop through the directory listing
      foreach my $file (parse_dir(\@ls))
      {
          $i++;
          my($name, $type, $size, $mtime, $mode) = @$file; 
          $totsize = $totsize + $size if ($type eq 'f');

          print "$cur_dir $totsize\n" if ($i == $arrcnt);

          # recursive call to get the entries in the entry, and get an array of return values
#          @xx = getRecursiveDirListing ("$cur_dir/$name") if ($type eq 'd');
      }

      # close the FTP connection
      $ftp->quit();
      } 
      # merge the array returned from the recursive call with the current directory listing
#      return (@dirs,@xx);
  }
@y = getRecursiveDirListing ("$param");

要运行它:

$ ./getSize.pl <directory>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何了解Windows 10中的磁盘使用情况?

来自分类Dev

检查带空格返回的文件的磁盘使用情况

来自分类Dev

检查/ var / lib / docker的磁盘使用情况

来自分类Dev

如何检查XFS上包含重新链接文件的文件夹的磁盘使用情况?

来自分类Dev

如何按文件类型显示磁盘使用情况?

来自分类Dev

如何随时间跟踪程序的磁盘使用情况?

来自分类Dev

如何找出实际的磁盘使用情况?

来自分类Dev

在Powershell中输出磁盘使用情况

来自分类Dev

在Java中获取文件的实际磁盘使用情况

来自分类Dev

在 Nautilus/Thunar 中显示磁盘使用情况

来自分类Dev

如何使用C程序在Linux中获取磁盘使用情况?

来自分类Dev

如何在Unix中查找目录的磁盘使用情况

来自分类Dev

PostgreSQL:列磁盘使用情况

来自分类Dev

符号链接的磁盘使用情况

来自分类Dev

磁盘使用情况分析

来自分类Dev

显示磁盘使用情况

来自分类Dev

磁盘使用情况很奇怪

来自分类Dev

如何检查我的 azure 搜索配额使用情况?

来自分类Dev

如何在Linux或R中检查CPU核心使用情况

来自分类Dev

bash脚本,显示cpu使用情况,磁盘使用情况,ram使用情况

来自分类Dev

检查约束使用情况

来自分类Dev

amcharts中的指南:如何在amcharts中使用前缀来表示磁盘使用情况:1024与1000

来自分类Dev

Bash:centos脚本仅按百分比检查磁盘使用情况

来自分类Dev

如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

来自分类Dev

如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

来自分类Dev

如何在ASP.NET中监视计算机的cpu,内存和磁盘使用情况?

来自分类Dev

如何监视网络中的Internet使用情况?

来自分类Dev

如何显示Netbeans中的内存使用情况?

来自分类Dev

如何比仅使用“ du”更快地收集存储系统上的磁盘使用情况?

Related 相关文章

  1. 1

    如何了解Windows 10中的磁盘使用情况?

  2. 2

    检查带空格返回的文件的磁盘使用情况

  3. 3

    检查/ var / lib / docker的磁盘使用情况

  4. 4

    如何检查XFS上包含重新链接文件的文件夹的磁盘使用情况?

  5. 5

    如何按文件类型显示磁盘使用情况?

  6. 6

    如何随时间跟踪程序的磁盘使用情况?

  7. 7

    如何找出实际的磁盘使用情况?

  8. 8

    在Powershell中输出磁盘使用情况

  9. 9

    在Java中获取文件的实际磁盘使用情况

  10. 10

    在 Nautilus/Thunar 中显示磁盘使用情况

  11. 11

    如何使用C程序在Linux中获取磁盘使用情况?

  12. 12

    如何在Unix中查找目录的磁盘使用情况

  13. 13

    PostgreSQL:列磁盘使用情况

  14. 14

    符号链接的磁盘使用情况

  15. 15

    磁盘使用情况分析

  16. 16

    显示磁盘使用情况

  17. 17

    磁盘使用情况很奇怪

  18. 18

    如何检查我的 azure 搜索配额使用情况?

  19. 19

    如何在Linux或R中检查CPU核心使用情况

  20. 20

    bash脚本,显示cpu使用情况,磁盘使用情况,ram使用情况

  21. 21

    检查约束使用情况

  22. 22

    amcharts中的指南:如何在amcharts中使用前缀来表示磁盘使用情况:1024与1000

  23. 23

    Bash:centos脚本仅按百分比检查磁盘使用情况

  24. 24

    如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

  25. 25

    如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

  26. 26

    如何在ASP.NET中监视计算机的cpu,内存和磁盘使用情况?

  27. 27

    如何监视网络中的Internet使用情况?

  28. 28

    如何显示Netbeans中的内存使用情况?

  29. 29

    如何比仅使用“ du”更快地收集存储系统上的磁盘使用情况?

热门标签

归档