Is there a way to sum up the disk usage of a certain directory while in ftp? I was trying to create a script that will check what is the disk usage of the current directory and prints out the free space for the home directory.Example:ftp> cd /home/directory/drw-rw-rw-   1 user     group           0 Nov 16 /directorydrw-rw-rw-   1 user     group           0 Nov 16 next/directorydrw-rw-rw-   1 user     group           0 Nov 16 next/next/directoryFor some reason, I can't see any size for directories. But inside them were files that I need to check the usage, so I have to get something like this:total disk usage for /home/directory = some counttotal disk usage for /next/directory = some counttotal disk usage for /../directory = some count
How to check disk usage in ftp?
disk usage;ftp
You could use Perl. From http://aplawrence.com/Unixart/perlnetftp.html:#!/usr/bin/perlmy $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);To run it:$ ./getSize.pl <directory>