Go to main content
Oracle® Solaris 11.3 でのデバイスの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

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

ls –t コマンドを使用すると、ディレクトリ内のファイルのリストを生成し、それらのタイムスタンプに従ってソートできます。デフォルトでは、ファイルは新しいものから順にリストされます。次の例は、/var/adm 内のファイルを新しいファイルから順にリストしています。

$ ls -t /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     root       11510 Sep 10 16:13 messages.1
drwxrwxr-x   5 adm      adm          512 Sep 10 15:19 acct
drwxrwxr-x   2 adm      sys          512 Sep 10 15:19 sa
drwxr-xr-x   2 adm      adm          512 Sep 10 15:17 log

不要になったと判断された古いファイルは削除できます。

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

find コマンドを使用すると、定義した時間範囲内にあるファイルを検索し、削除対象としてマークできます。

  1. 管理者になります。

    詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  2. 指定した日数の間アクセスのないファイルを見つけて、ファイルにそれらのリストを書き込みます。
    # find directory -type f[-atime +nnn] [-mtime +nnn] -print > output-file &
    directory

    検索するディレクトリを指定します。その下のサブディレクトリも検索されます。

    –atime +nnn

    ファイルがアクセスされていない期間の日数を指定します。

    –mtime +nnn

    ファイルが変更されていない期間の日数を指定します。

    output-file

    コマンドの出力が書き込まれるファイルを指定します。

  3. 出力ファイルにリストされているファイルを削除しても問題がないことを確認します。

    まだ必要なファイルがリスト内にある場合は、それらのファイル名を出力ファイルから削除します。

  4. 出力ファイルにリストされているファイルを削除します。
    # rm `cat output-file`
使用例 30  古いファイルまたは使用されていないファイルの検索と削除

次の例は、/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`
#