べるべる研究日誌

なんでもやる系エンジニアの日々

ディスク容量を把握する

「共有ドライブの使用量をみんな把握してくれなくて使い過ぎるんだけど、現在の容量を表示するいい方法は無い?」という話が。たしかにみんなフォルダー情報を気にして見てくれる訳ではないし、ファイルはドカドカ置いて行くしねぇ。

ということで、フォルダーの現在の使用量をduコマンドで調べてそれをファイル名にした「_現在の使用量_50MB」みたいな空ファイルを生成するスクリプトを書いてみました。指定したディレクトリーの中のフォルダーの容量をしらべてその内部に作られます。これをcronとかで一定間隔で実行すれば情報も更新されますね。

#!/usr/bin/env ruby

@filename = "_現在の使用量_"
if ARGV[0].nil?
  p "./dirUsage.rb dirpath"
  exit
end
dirPath = Dir.glob("#{ARGV[0]}/*")
dirPath.each{|name|
  next unless File.writable?(name+"/")
  result = Array.new
  result = `du -sh #{name}`.split()
  Dir.glob(result[1]+"/#{@filename}*"){|f|
    File.delete(f)
  }
  File.open(result[1]+"/#{@filename}"+result[0],"w")
}