query: tag:sh

古いバージョン(1.2.6)ではこの問題は起こらなかったのですが、
ubuntu-11.04の1.4.5では、しばらく使っていると/tmp/tmp.XXXXX
というディレクトリが大量に残るという問題があるようです。
調べてみたのですが、あまり似たような報告がなかったので、
特定の条件が揃った場合だけ発生する問題なのかもしれません。

とりあえず、以下のような力技で対処。

cleanup_munin_tmp

ruby>>
#!/usr/bin/env ruby
require "etc"

Dir['/tmp/tmp.*'].each do |path|
uid = Etc.getpwuid(File.stat(path).uid).name
gid = Etc.getgrgid(File.stat(path).gid).name
next if uid != 'nobody'
next if gid != 'munin'
system "rmdir --ignore-fail-on-non-empty #{path}"
end
<<--

これをcronで@hourlyに実行してます。

追記

シェルスクリプト版も用意してみました。

sh>>
#!/bin/sh

for d in /tmp/tmp.*
do
if [ stat -c %U $d = "nobody" ]
then
if [ stat -c %G $d = "munin" ]
then
rmdir --ignore-fail-on-non-empty $d
fi
fi
done
<<--

posted by genki genki on Thu 7 Jul 2011 at 21:01 with 0 comments