小さなlogrotateの事故が発生しました... Logrotateは、ミステイクによってアーカイブログをローテーションし、/var/log/
内のファイルが2次関数的に増加しました。そして、何かがおかしいという風に遭遇したとき、/var/log/
にはすでに数百万のファイルが含まれていました......
私は(いくつかの脱毛とfind/sed/grepマジックの後)なんとか問題のあるファイルをすべて削除し、logrotate設定を修正しました。そして、すべてがうまくいったと思った...
私がls
/du -hs
またはその他の方法で/var/log/
(現在80mbのアーカイブ/ログと最大で数百のファイルを含む)の内容をリストする場合1、2分。これはどういうわけかlogrotateの事故に関連していると思いますが、私は確信がありません、それは他の何かである可能性があります。とにかく、デバッグを開始する場所や、これに対する修正を探す場所がわからなくなっています。助けてください:3
uname -a
Linux xxx 3.3.8-gentoo #18 SMP Sat Sep 21 22:44:40 CEST 2013 x86_64 Intel(R)
Core(TM)2 CPU 4400 @ 2.00GHz GenuineIntel GNU/Linux
cat /proc/meminfo
MemTotal: 2051552 kB
MemFree: 75612 kB
Buffers: 9016 kB
Cached: 1740608 kB
SwapCached: 0 kB
CFQ IO scheduler + SLUB allocator
私はこれを考えました: ディレクトリ内のファイルの数が多すぎますか?(ネットからデータをダウンロードしています) 関連していましたが、ファイルがもう残っていません。
init 1
を呼び出した後も問題は解決しないので、FS以外に責任があるプロセスはないと想定しても安全だと思います。
init 1
mv /var/log /var/log1
mkdir /var/log
chmod --reference=/var/log1 /var/log
chown --reference=/var/log1 /var/log
tar -C /var/log1 -cvp . | tar -C /var/log -xvp
rm -rf /var/log1
init 5
ディレクトリはサイズが大きくなるだけで、縮小することはありません。それらすべてのファイルを一時ディレクトリ(log2など)に移動してから、古いディレクトリをrmdirして、一時ディレクトリの名前を新しい永続ディレクトリに変更します。