Solaris のシステム管理 (第 2 巻)

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

ファイルの数が非常に多くなったファイルシステムを整理する場合、最近使用されていないファイルを見つけて削除します。使用されていないファイルは ls または find コマンドを使用して見つけることができます。詳細は、ls(1)find(1) のマニュアルページを参照してください。

ディスク容量を節約するその他の方法としては、/var/tmp または /var/spool 内にあるような一時ファイルを空にしたり、core ファイルやクラッシュダンプファイルを削除したりするなどが含まれます。これらのファイルの詳細は、第 31 章「システムクラッシュ情報の生成と保存」を参照してください。

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

次のように ls -t コマンドを使用して、最も最近に作成または変更されたファイルから順番にファイルのリストを表示します。

$ ls -t [directory]

-t

最新タイムスタンプをリストの最初としてソートする 

directory

ファイルを探したいディレクトリ 

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

次の例は、ls -t をどのように使用して /var/adm ディレクトリ内の最新のファイルを見つけるかを示しています。sulogmessagesutmpxwtmpxutmplastlog が最も最近に作成または変更されたファイルです。これは、ls -l からの出力を使用して確認できます。この出力では、それら 6 つのファイルは 3 月に作成または変更されているのに対して、/var/spool 内のその他のファイルは 3 月よりも前に作成または変更されています。

$ ls -t /var/adm
sulog      wtmpx        wtmp        messages.1  vold.log   spellhist
messages   utmp         sa          messages.2  log        aculog
utmpx      lastlog      messages.0  messages.3  acct       passwd
$ ls -l /var/adm
total 686
drwxr-xr-x  5 adm       adm         512 Feb 13 16:20 acct
-rw-------  1 uucp      bin           0 Feb 13 16:04 aculog
-r--r--r--  1 root      other      8456 Mar 27 10:34 lastlog
drwxr-xr-x  2 adm       adm         512 Feb 13 16:36 log
-rw-r--r--  1 root      other    117376 Mar 27 13:11 messages
-rw-r--r--  1 root      other      4620 Jan 30 08:30 messages.0
-rw-r--r--  1 root      other     11176 Jan 23 04:30 messages.1
-rw-r--r--  1 root      other        60 Jan 13 09:45 messages.2
-rw-r--r--  1 root      other         0 Jan 31 04:05 messages.3
drwxr-xr-x  2 adm       adm         512 Feb 13 16:03 passwd
drwxr-xr-x  2 adm       sys         512 Mar 20 06:59 sa
-rw-rw-rw-  1 bin       bin           0 Feb 13 16:04 spellhist
-rw-------  1 root      root       1647 Mar 27 13:28 sulog
-rw-r--r--  1 root      bin         504 Mar 27 10:34 utmp
-rw-r--r--  1 root      bin        5208 Mar 27 10:34 utmpx
-rw-rw-rw-  1 root      root        500 Jan 11 14:40 vold.log
-rw-rw-r--  1 adm       adm       14724 Mar 27 10:34 wtmp
-rw-rw-r--  1 adm       adm      151404 Mar 27 10:34 wtmpx

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

  1. スーパーユーザーになります。

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

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

    directory

    ファイルを調べたいディレクトリ。この下のディレクトリも調べられる 

    -atime +nnn

    指定した日数の間アクセスのないファイルを見つける 

    -mtime +nnn

    指定した日数の間変更のないファイルを見つける 

    filename

    使用されていないファイルのリストが書き込まれるファイル名

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

    # rm `cat filename`
    

    filename

    このコマンドで作成されるファイルで、使用されていないファイルのリストを含むファイル名 

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

次の例では、/var/adm 内の通常のファイルと、最近 60 日間アクセスされていないディレクトリを見つけ、使用されていないファイルのリストを /var/tmp/deadfiles に保存しています。それらのファイルはその後 rm コマンドで削除されます。

# find /var/adm -type f -atime +60 -print > /var/tmp/deadfiles &
# more /var/tmp/deadfiles
/var/adm/log/asppp.log
/var/adm/aculog
/var/adm/spellhist
/var/adm/wtmp
/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`

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

  1. スーパーユーザーになります。

  2. 次のように入力して、/var/tmp ディレクトリに移動します。

    # cd /var/tmp
    

    注意 - 注意 -

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


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

    # rm -r *
    
  4. 一時サブディレクトリやファイル、または古いサブディレクトリやファイル (たとえば、maillost+foundquotas など) が入っている他のディレクトリに変更し、上の手順 3 を繰り返してそれらを削除します。

例 - 一時ディレクトリを一度にクリアする

次の例は、どのように /var/tmp ディレクトリを整理するかを示し、すべてのファイルとサブディレクトリが削除されたことを確認しています。

# cd /var/tmp
# ls
deadfiles           wxconAAAa0003r:0.0  wxconAAAa000NA:0.0
test_dir            wxconAAAa0003u:0.0  wxconAAAa000cc:0.0 
wxconAAAa000zs:0.0
# rm -r *
# ls
#

core ファイルを見つけて削除する方法

  1. スーパーユーザーになります。

  2. core ファイルの探索を始めたいディレクトリに移動します。

  3. 次のように入力して、ディレクトリとサブディレクトリ内のすべての core ファイルを見つけて削除します。

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

例 - core ファイルを見つけて削除する

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

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

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

クラッシュダンプファイルは非常に大きくなる可能性があります。したがって、必要以上に長期間保存しないでください。

  1. スーパーユーザーになります。

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

    # cd /var/crash/system
    

    system

    クラッシュダンプファイルを生成したシステム 


    注意 - 注意 -

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


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

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

    # ls
    

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

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

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