ディスク使用量が増えた時にどのディレクトリが原因か調べる

ディスク使用量が増えてきた場合、どのディレクトリが増えているのかまず調べる必要があります。調査方法の一例を紹介します。

1)dfコマンドで現在のディスク使用量を表示


 
例)

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  6.0G   11G  37% /
tmpfs                1004M  512K 1003M   1% /dev/shm
/dev/vda1             485M   73M  387M  16% /boot
/dev/vdb              178G  188M  168G   1% /data

 

2)duコマンドでディレクトリ単位に調査


 
下記コマンドで調べたいディレクトリ内のサブディレクトリの使用量を表示し、多い順に表示します。
du -ms /ディレクトリ名/* | sort -nr
 
例)
この例では”/”ディレクトリの使用量が多かったので”/”ディレクトリ配下のディレクトリの使用量を表示しています。

# du -ms /* | sort -nr
du: cannot access `/proc/25854/task/25854/fd/4': No such file or directory
  :
2941    /usr
1578    /home
878     /var
322     /lib
63      /boot
  :

3)duコマンドで使用量の多いディレクトリを同様に調査


 
例)
この例では”/”直下では”/usr”の使用量が多かったので、”/usr”配下のディレクトリ使用量を調べています。

# du -ms /usr/* | sort -nr
 
854     /usr/local
831     /usr/share
735     /usr/lib64
208     /usr/java
116     /usr/lib
106     /usr/bin
48      /usr/libexec
25      /usr/sbin
21      /usr/include
1       /usr/src
1       /usr/games
1       /usr/etc
0       /usr/tmp

 

4)ドッドから始まるディレクトリがある場合


 
下記例1)を見ると分かるように”/home/rails”の使用量は1575mのはずなのに、”/home/rails/*”と指定するとドッドから始まるディレクトリが含まれていないため、使用量は少なくなっている事が分かります。
 
例1)”/home/rails/*”と指定するとドッドから始まるディレクトリが含まれない。
 

# du -ms /home/* | sort -nr
1575    /home/rails
4       /home/wordpress
1       /home/test-wp
1       /home/aipo_postgres
1       /home/admin
 
# du -ms /home/rails/* | sort -nr
43      /home/rails/updates
22      /home/rails/rails_projects
3       /home/rails/blog1
2       /home/rails/blog
1       /home/rails/test-temp
1       /home/rails/test
1       /home/rails/msg
1       /home/rails/kaisya_b2_wt
1       /home/rails/default
1       /home/rails/classic
1       /home/rails/Videos
1       /home/rails/Templates
1       /home/rails/Public
1       /home/rails/Pictures
1       /home/rails/Music
1       /home/rails/Maildir
1       /home/rails/Downloads
1       /home/rails/Documents
1       /home/rails/Desktop

 
ドッドから始まるディレクトリも含める場合は、下記のように指定します。
例2)

#  du -ms /home/rails/* /home/rails/.[^\.]* | sort -rn
1166    /home/rails/.rvm
147     /home/rails/.bundler
126     /home/rails/.netbeans
49      /home/rails/.cache
43      /home/rails/updates
22      /home/rails/rails_projects
14      /home/rails/.gem
4       /home/rails/.heroku
3       /home/rails/.netbeans-derby
3       /home/rails/blog1
2       /home/rails/blog
1       /home/rails/.zshrc
1       /home/rails/.zprofile

 
※例2)の[^\.]の部分がないと、下記のように”.”と”..”の部分も表示されてしまいます。

#  du -ms /home/rails/* /home/rails/.* | sort -rn
1578    /home/rails/..
1575    /home/rails/.
1166    /home/rails/.rvm
147     /home/rails/.bundler
126     /home/rails/.netbeans
49      /home/rails/.cache
43      /home/rails/updates
22      /home/rails/rails_projects
14      /home/rails/.gem
関連記事の目次
VPSサーバーでスナップショットを取得
~障害に備え、リカバリーポイントを作成。
VPSサーバーにログインして、設定内容を確認
~グローバルIPアドレス確認、SSHキーを作成。
VPSサーバーにSSHでログイン
~Tera Term、SSH、公開鍵認証方式
yumコマンドで最新のパッケージにアップデート
~全パッケージを最新にアップデート
Apacheのインストール
~yumコマンドでApacheインストール、iptablesでファイアウォールの設定
PHPとMySQLをインストール
~yumコマンドでPHP、MySQLインストール
WinSCPを使ってWordPressをアップロード
~WinSCPをクライアントPCにインストール、ファイルアップロード方法
WordPressをインストール
~MySQLでWordPress用データベース作成、wp-config.phpファイルの設定
CentOSのファイアウォール設定
~iptablesを使ってネットワークフィルタリング設定を一から行う
OpenSSHの設定をよりセキュアに
~ログイン制限、ポート変更、認証方式
ApacheでTCPのTraceメソッドを無効にする
~Apacheの設定変更、Telnetで動作確認
ヘッダーにApacheバージョンが表示されないようにする
~Apacheの設定変更、Telnetで動作確認
Apacheでディレクトリ内一覧表示を無効にする
~autoindex_moduleのロードを無効にする
セキュリティを考慮し、MySQLの匿名ユーザーにパスワードを設定、または削除
~MySQLの匿名ユーザーにパスワードを設定、または削除
PHPのバージョンが表示されないようにする
~php.iniの設定変更
WordPressディレクトリのパーミッションをセキュアに
~WordPress用ディレクトリの所有グループ、ユーザー、パーミッション設定
パーマリンク設定時のApache設定
~WordPressパーマリンクの設定、Apache .htaccessの設定
WordPressテーマの選定
~テーマ追加の特徴フィルターの項目、テンプレートキング
WordPressで画像のアップロード、サイズ調整、リンクを設定
~アップロード画像の画像サイズ、サムネイル、画像編集、リンク設定
更新可能なRPMパッケージのリストをメールで送信する
~yumコマンド、Bashスクリプト、Cron
Linuxでディスク使用量が多いディレクトリを調べる方法(1)
~du --max-depth
Linuxでディスク使用量が多いディレクトリを調べる方法(2)
~duコマンド、sortコマンド
WordPressデータベースのバックアップとリストア
~コマンドラインでバックアップ、リストア
WordPressのバージョンアップと旧バージョンへの戻し
~データベースとディレクトリのバックアップ、リストア
BashスクリプトでWordPressデータベースを自動バックアップ
~MySQLデータベースをBash、Cronを使って自動バックアップ、メール通知
BashスクリプトでDos攻撃など大量アクセスのログを検知
~Apacheアクセスログ、Dos、Cron、メール通知
テーマ作成
 
ブートストラップ3を使って自作テーマ作成
~Bootstrap3、自作テーマ作成、TwentyFourteen
Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
~Bootstrap3のスタイルをカスタマイズ
 
WordPresssショートコード
 
簡単なショートコードを作ってみる
~ショートコードの作り方
ショートコードを使って関連記事のリンクを自動で挿入
~ショートコードの簡単なサンプル
ショートコードを使ってディレクトリ内のファイル名を取得し、投稿内にリンクを挿入
~カスタムフィールド利用、PHPで日本語文字列検索などのコーディング
 
AJAX、AngularJSなどその他応用
 
WordPress投稿内でAngularJSを使用
~AngularJS、Bootstrap、アコーディオン
Bootstrap3で作成したナビゲーションメニューをAngularJSに変更
~AngularJS、Bootstrap、自作テーマheder.php
WordPressでAngularJSを使ったGoogleマップを使えるようにする
~AngularJSを使って投稿内にGoogleマップ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です