系统管理指南:高级管理

查找并删除旧文件或非活动文件

清理负载较大的文件系统的工作包括查找并删除最近未使用的文件。使用 lsfind 命令可以查找未使用的文件。有关更多信息,请参见 ls(1)find(1) 手册页。

节省磁盘空间的其他方法包括清空临时目录(例如 /var/tmp/var/spool 中的目录)以及删除 core 文件和故障转储文件。有关故障转储文件的更多信息,请参阅第 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. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 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. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 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如何查找并删除 core 文件

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 转到要搜索 core 文件的目录。

  3. 查找并删除此目录及其子目录中的所有 core 文件。


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

示例 6–14 查找并删除 core 文件

以下示例显示如何使用 find 命令查找并删除 jones 用户帐户的 core 文件。


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

Procedure如何删除故障转储文件

故障转储文件可能会很大。如果允许系统存储这些文件,除非必要,否则不要使其保留太长时间。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 转到存储故障转储文件的目录。


    # cd /var/crash/system
    

    其中 system 标识创建了故障转储文件的系统。


    注意 – 注意 –

    完成步骤 3 之前,请确保您处于正确的目录中。步骤 3 将删除当前目录中的所有文件。


  3. 删除故障转储文件。


    # rm *
    
  4. 验证是否已删除故障转储文件。


    # ls
    

示例 6–15 删除故障转储文件

以下示例显示如何从系统 venus 中删除故障转储文件,以及如何验证是否已删除故障转储文件。


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