Solaris のシステム管理 (上級編)

古いファイルまたは使用されていないファイルの検索と削除

負荷の大きいファイルシステムを整理する作業として、最近使用されていないファイルの特定と削除があります。使用されていないファイルは ls コマンドまたは find コマンドを使用して見つけることができます。詳細については、ls(1) および find(1) のマニュアルページを参照してください。

ディスク容量を節約するには、/var/tmp または /var/spool 内にある一時ディレクトリを空にしたり、コアファイルやクラッシュダンプファイルを削除したりするなどの方法もあります。クラッシュダンプファイルの詳細は、第 17 章システムクラッシュ情報の管理 (手順)を参照してください。

Procedure最新ファイルのリストを表示する方法

  1. ls -t コマンドを使用して、もっとも新しく作成または変更されたファイルから順番にファイルのリストを表示します。


    $ ls -t [directory]
    -t

    最新タイムスタンプのファイルを最初にしてソートします。

    directory

    検索するディレクトリを指定します。


例 6–11 最新ファイルのリストを表示する

次の例では、ls -tl コマンドを使用して、/var/adm ディレクトリ内でもっとも新しく作成または変更されたファイルを見つける方法を示します。sulog がもっとも新しく作成または変更されたファイルです。


$ ls -tl /var/adm
total 134
-rw-------   1 root     root         315 Sep 24 14:00 sulog
-r--r--r--   1 root     other     350700 Sep 22 11:04 lastlog
-rw-r--r--   1 root     bin         4464 Sep 22 11:04 utmpx
-rw-r--r--   1 adm      adm        20088 Sep 22 11:04 wtmpx
-rw-r--r--   1 root     other          0 Sep 19 03:10 messages
-rw-r--r--   1 root     other          0 Sep 12 03:10 messages.0
-rw-r--r--   1 root     root       11510 Sep 10 16:13 messages.1
-rw-r--r--   1 root     root           0 Sep 10 16:12 vold.log
drwxr-xr-x   2 root     sys          512 Sep 10 15:33 sm.bin
drwxrwxr-x   5 adm      adm          512 Sep 10 15:19 acct
drwxrwxr-x   2 adm      sys          512 Sep 10 15:19 sa
-rw-------   1 uucp     bin            0 Sep 10 15:17 aculog
-rw-rw-rw-   1 root     bin            0 Sep 10 15:17 spellhist
drwxr-xr-x   2 adm      adm          512 Sep 10 15:17 log
drwxr-xr-x   2 adm      adm          512 Sep 10 15:17 passwd

Procedure古いファイルと使用されていないファイルを見つけて削除する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 指定した日数の間アクセスのないファイルを見つけて、ファイルにそれらのリストを書き込みます。


    # find directory -type f[-atime +nnn] [-mtime +nnn] -print > filename &
    directory

    検索するディレクトリを指定します。このディレクトリの下にあるディレクトリも検索します。

    -atime +nnn

    指定した日数 (nnn) の間アクセスのないファイルを見つけます。

    -mtime +nnn

    指定した日数 (nnn) の間変更のないファイルを見つけます。

    filename

    使用されないファイルリストを書き込むファイルを指定します。

  3. 上の手順でリストに書き込んだ使用されていないファイルを削除します。


    # rm `cat filename`
    

    filename は、前の手順で作成したファイルです。このファイルには、使用されていないファイルのリストが入っています。


例 6–12 古いファイルまたは使用されていないファイルの検索と削除

次の例は、/var/adm ディレクトリ内とそのサブディレクトリ内で過去 60 日にわたってアクセスされていないファイルを示しています。/var/tmp/deadfiles ファイルには、使用されていないファイルのリストが含まれます。rm コマンドは、これらの使用されていないファイルを削除します。


# find /var/adm -type f -atime +60 -print > /var/tmp/deadfiles &
# more /var/tmp/deadfiles
/var/adm/aculog
/var/adm/spellhist
/var/adm/wtmpx
/var/adm/sa/sa13
/var/adm/sa/sa27
/var/adm/sa/sa11
/var/adm/sa/sa23
/var/adm/sulog
/var/adm/vold.log
/var/adm/messages.1
/var/adm/messages.2
/var/adm/messages.3
# rm `cat /var/tmp/deadfiles`
#

Procedure一時ディレクトリを一度にクリアする方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 整理するディレクトリに移動します。


    # cd directory
    

    注意 – 注意 –

    手順 3 を実行する前に、正しいディレクトリにいることを確認してください。手順 3 はカレントディレクトリ内のすべてのファイルを削除します。


  3. カレントディレクトリ内のファイルとサブディレクトリを削除します。


    # rm -r *
    
  4. サブディレクトリやファイルで、不要なもの、一時的なもの、または古くなったものがある他のディレクトリに移動します。

  5. 手順 3 を繰り返してこれらのサブディレクトリやファイルを削除します。


例 6–13 一時ディレクトリを一度にクリアする

次の例は、mywork ディレクトリを空にする方法、およびすべてのファイルとサブディレクトリが削除されたことを確認する方法を示しています。


# cd mywork
# ls
filea.000
fileb.000
filec.001
# rm -r *
# ls
#

Procedureコアファイルを見つけて削除する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. コアファイルを検索したいディレクトリに移動します。

  3. ディレクトリとサブディレクトリ内のすべてのコアファイルを見つけて削除します。


    # find . -name core -exec rm {} \;
    

例 6–14 コアファイルを見つけて削除する

次の例は、find コマンドを使用して jones のユーザーアカウントからコアファイルを見つけて削除する方法を示します。


# cd /home/jones
# find . -name core -exec rm {} \;

Procedureクラッシュダンプファイルを削除する方法

クラッシュダンプファイルは非常に大きくなる可能性があります。これらのファイルを保存するようシステムで設定している場合は、必要以上に長期間保存しないでください。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 次のように入力して、クラッシュダンプファイルが格納されているディレクトリに移動します。


    # cd /var/crash/system
    

    system は、クラッシュダンプファイルを作成したシステムのことです。


    注意 – 注意 –

    手順 3 を実行する前に、正しいディレクトリにいることを確認してください。手順 3 はカレントディレクトリ内のすべてのファイルを削除します。


  3. クラッシュダンプファイルを削除します。


    # rm *
    
  4. クラッシュダンプファイルが削除されたことを確認します。


    # ls
    

例 6–15 クラッシュダンプファイルを削除する

次の例は、システム venus からクラッシュダンプファイルを削除する方法、およびクラッシュダンプファイルが削除されたことを確認する方法を示します。


# cd /var/crash/venus
# rm *
# ls