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_percent 或 threshold_free_space
求值,并开始对 rearm_value 属性求值。 如果
free_percent或free_space值等于或大于此值,那么 rearm 条件得到满足。注: rearm_value 属性是可选的。 此外,rearm_value 与 rearm_waittime 属性互斥。 如果指定了 rearm_value 属性,那么不能指定 rearm_waitime 属性。 - rearm_waittime
- 该条件得到满足时停止对 threshold_free_percent 或
threshold_free_space 求值,并在 rearm_waittime 属性中指定的时间后恢复监视文件系统。 即,在 rearm_waittime 属性中指定的持续时间内暂挂文件系统监视。注: rearm_waittime 属性是可选的。 此外,rearm_value 与 rearm_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
- 发生错误。
示例
- 要列示文件系统的所有监视条件,请输入以下命令:
ctmonfs -l - 要监视文件系统空间 (
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 - 要修改评估条件的时间间隔,请输入以下命令:
ctmonfs -u -n "var mon" -i 900 - 要修改现有操作 (
run cleanup) 的 path 属性值,请输入以下命令:ctmonfs -u -n "var mon" -b "run cleanup" -k "path=/tmp/varcleanup" - 要移除操作,请输入以下命令:
ctmonfs -u -n "var mon" -B "run cleanup" - 要移除文件系统条件,请输入以下命令:
ctmonfs -r -n "var mon" - 要设置或修改现有操作 (
run cleanup) 的优先级,请输入以下命令:ctmonfs -u -n "var mon" -b "run cleanup" -k "priority=1"
位置
- /opt/rsct/bin/ctmonfs
- 包含 ctmonfs 命令。
文件
- /var/ct/cfg/fsmon.cfg
- 包含用于监视文件系统的配置设置。