概要

  • 指定したパスを含むパーティションの使用容量(%)を調べる。

Filesys::Df 版

  • 使用パーセントは「per」で得られる。

ソース

  • getDiskUsage.zip
    #!/usr/bin/perl
    # 指定したパスを含むパーティションの使用状況を調べる。
    
    use strict;
    use warnings;
    use utf8;
    use Filesys::Df;
    use Number::Format qw(:subs);
    
    my $path = shift or die("usage: getDiskUsage <path>\n");
    my $refDf = df($path, 1) or die("$!\n");
    foreach my $key (sort(keys(%{$refDf}))){
    	print $key . ":\t" . format_bytes($refDf->{$key}) . "\n";
    }
    
    # EOF

自前版

  • OSコマンド・インジェクション対策はしてないので、安全なパスのみ渡すようにすること。
  • エラー時には「-1」が戻る。

ソース

sub getDiskUsage
{
	my $path = shift || '/';
	my $result = `df -h $path`;
	$result =~ /(\d+)%\s+\//;
	return $1 || -1;
}

リンク