ctmonfs 命令

用途

监视文件系统的特定条件。

语法

要添加或监视新的文件系统条件,请使用以下语法:
ctmonfs -a -n condition_name -f <fsname> -c <condition_type[,attr=value,...]> [-b <action_name> ] 
[-k <action_type[,attr=value,...]> [-i <interval>] [-m 0|1] [-e 0|1]
要更改文件系统条件的属性,请使用以下语法:
ctmonfs -u -n condition_name [-f <fsname>] [-c <attr=value,...>] [-b|-B <action_name> ] 
[-k <attr=value,...>] [-i <interval>] [-m 0|1] [-e 0|1] 
要移除文件系统条件,请使用以下语法:
ctmonfs -r -F | -n condition_name
要列示特定文件系统条件或所有文件系统条件,请使用以下语法:
ctmonfs -l [-n condition_name]

描述

ctmonfs 命令用于监视文件系统的特定条件。 Conditions 定义必须针对其监视文件系统的条件。 Actions 定义该条件发生时必须运行的命令。 不一定要指定任何操作,也可指定必须根据操作优先级运行的操作。 如果未指定操作的优先级,那么这些操作按您指定操作的顺序运行。 如果未指定任何操作,那么该条件将记录在跟踪文件中,并且不会运行任何操作。 每个条件或操作由用于定义该条件或操作的附加数据的属性组成。

以下条件类型受支持:

fsspace
监视文件系统的可用空间。 fsspace 条件类型包含以下属性:
method
指定文件系统的监视方式。 有效值如下所示:
free_percent
监视文件系统的总余下空间(以百分比计)。
free_space
监视文件系统的余下空间单位数(以 MB 计)。
threshold_free_percent
指定阈值百分比值来表示文件系统中的可用空间或余下空间的条件。 即,如果可用空间的百分比等于或小于此值,那么此条件得到满足。
注: 仅当 method 属性设置为 free_percent时,此属性才有效。
threshold_free_space
指定文件系统中的可用空间条件的阈值(以 MB 计)。 即,如果可用空间等于或小于此值,那么此条件得到满足。
注: 仅当 method 属性设置为 free_space时,此属性才有效。
rearm_value
该条件得到满足时停止对 threshold_free_percentthreshold_free_space 求值,并开始对 rearm_value 属性求值。 如果 free_percent free_space 值等于或大于此值,那么 rearm 条件得到满足。
注: rearm_value 属性是可选的。 此外,rearm_valuerearm_waittime 属性互斥。 如果指定了 rearm_value 属性,那么不能指定 rearm_waitime 属性。
rearm_waittime
该条件得到满足时停止对 threshold_free_percentthreshold_free_space 求值,并在 rearm_waittime 属性中指定的时间后恢复监视文件系统。 即,在 rearm_waittime 属性中指定的持续时间内暂挂文件系统监视。
注: rearm_waittime 属性是可选的。 此外,rearm_valuerearm_waittime 属性互斥。 如果指定了 rearm_waittime 属性,那么不能指定 rearm_value 属性。

以下操作类型受支持:

useraction
启动用户脚本或可执行文件。 useraction 操作类型包含以下属性:
路径
指定可执行文件的名称。
优先级 (priority)
指定操作的优先级。 有效值为正整数。 值越小,表明优先级越高。 值为 0 表示无优先级。

ctmonfs 命令中指定的配置设置存储在 /var/ct/cfg/fsmon.cfg 文件中。 缺省情况下,系统会监视 /var 文件系统的 fsspace 条件,此条件具有相关联的 useraction 类型。 fsspace 条件得到满足时,系统将调用缺省脚本以清除 /var/ct 目录中的不必要文件。

标志

-a
创建文件系统条件以监视文件系统。
-u
修改现有文件系统条件。
-r
移除文件系统条件。 如果指定 -F 标志,那么将移除所有文件系统条件。
-l
列示所有文件系统条件。 如果指定了 -n 标志,那么仅列示特定文件系统条件。
-n 条件名称
对文件系统条件指定唯一名称。 此名称可用于列示、修改或移除文件系统条件。
-f 名字
指定要监视的文件系统的名称。
-c 条件类型
指定必须监视的条件类型。 condition_type 参数包含条件类型及跟在其后的逗号定界属性。 要修改属性值,请使用 -u 选项并指定必须更改的属性。
-b 行动名称
对操作指定唯一名称。 操作名称可用于修改或移除该操作。
-B 行动名称
移除所指定操作。
-k 行为类型
指定条件得到满足时必须执行的操作。 action_type 参数包含操作类型及跟在其后的逗号定界属性。 要修改操作类型的属性,请使用 -u 选项并指定必须更改的属性。
注: 创建新的文件系统条件时,只能定义一个操作。 使用 -u 标志以向该条件添加更多操作。 如果未对条件配置任何操作,那么系统会在该条件得到满足时将事件记录在跟踪文件中。
-i 间隔
指定评估条件的时间间隔(以秒计)。
-m [0|1]
启用或禁用文件系统监视。 以下值是有效的:
1
启用文件系统监视。
0
禁用文件系统监视。
-e [0|1]
启用或禁用错误日志记录。 以下值是有效的:
1
条件得到满足时,将创建错误日志条目。
0
条件得到满足时,将禁用错误日志记录。

退出状态

0
命令成功完成。
1
发生错误。

示例

  1. 要列示文件系统的所有监视条件,请输入以下命令:
    ctmonfs -l
  2. 要监视文件系统空间 (fsspace) 并在可用空间百分比低于 10% 时运行 /tmp/mycleanup 命令,请输入以下命令:
    ctmonfs -a -n "var mon" -f "/var" -c "fsspace,method=free_percent,threshold_free_percent=10" 
    -b "run cleanup" -k "useraction,path=/tmp/mycleanup" -i 1800 -m 1 -e 1
  3. 要修改评估条件的时间间隔,请输入以下命令:
    ctmonfs -u -n "var mon" -i 900
  4. 要修改现有操作 (run cleanup) 的 path 属性值,请输入以下命令:
    ctmonfs -u -n "var mon" -b "run cleanup" -k "path=/tmp/varcleanup"
  5. 要移除操作,请输入以下命令:
    ctmonfs -u -n "var mon" -B "run cleanup"
  6. 要移除文件系统条件,请输入以下命令:
    
    ctmonfs -r -n "var mon"
  7. 要设置或修改现有操作 (run cleanup) 的优先级,请输入以下命令:
    ctmonfs -u -n "var mon" -b "run cleanup" -k "priority=1"

位置

/opt/rsct/bin/ctmonfs
包含 ctmonfs 命令。

文件

/var/ct/cfg/fsmon.cfg
包含用于监视文件系统的配置设置。