概要
- 指定したパスを含むパーティションの使用容量(%)を調べる。
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;
}