crm_shadow - 更新在线群集前在 Sandbox 中执行配置更改
crm_shadow [-V] [-p|-e|-q]
设置一种配置工具(cibadmin 和 crm_resource 等)脱机工作而非针对在线群集工作的环境,以便预览和测试更改是否会产生不利影响。
打开调试信息。实例更多会增加详细程度
指示活动的阴影副本
显示阴影副本的内容
显示阴影副本的更改
使用空的群集配置创建命名的阴影副本
用指定的名称创建活动群集配置的阴影副本
根据活动的群集配置创建命名的阴影副本
将指定的阴影副本内容上载到群集
删除指定的阴影副本的内容
用喜爱的编辑器编辑指定的阴影副本内容
不衍生新的壳层
不衍生新的壳层
切换到指定的阴影副本
要使用阴影配置,需要先创建一个:
crm_shadow --create-empty YOUR_NAME
它为您提供内部壳层,如 crm 工具提供的壳层。使用 help 获取所有内部命令的概览,或使用 help 子命令获取特定命令。
表 16-1 内部命令概览
命令 |
语法/描述 |
---|---|
别名 |
alias [-p] [name[=value] ... ] alias 不带任何自变量或带有 -p 选项,在标准输出中按别名格式 NAME=VALUE 打印别名列表。否则,为每个指定了 VALUE 的 NAME 定义别名。VALUE 中的尾部空格会导致在展开别名时检查下一个要进行别名替换的单词。除非指定了 NAME,否则别名返回 true,因为尚未定义别名。 |
bg |
bg [JOB_SPEC ...] 将每个 JOB_SPEC 放置在后台,好像已使用 & 启动。如果 JOB_SPEC 不出现,则使用壳层的当前作业概念。 |
bind |
bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command] 将键序列与 Readline 函数或宏绑定,或设置 Readline 变量。非选项自变量语法等同于对 ~/.inputrc 使用的语法,但必须以单个自变量 bind 传递:"\C-x\C-r": re-read-init-file。 |
break |
break [N] 从 for、while 或 until 循环中退出。如果指定了 N,中断 N 级。 |
builtin |
builtin [shell-builtin [arg ...]] 运行壳层 builtin。如果希望将壳层 builtin 重命名为某个函数,但在该函数本身中需要 builtin 函数的功能,则此命令非常有用。 |
caller |
caller [EXPR] 返回当前子例程调用环境。不带 EXPR,返回 $line $filename。带有 EXPR,返回 $line $subroutine $filename;此附加的信息可用于提供堆栈跟踪。 |
case |
case WORD in [PATTERN [| PATTERN] [COMMANDS;;] ... esac 根据单词与模式的匹配程度选择性地执行命令。“|”用于分隔多个模式。 |
cd |
cd [-L|-P] [dir] 将当前目录更改为 DIR。 |
命令 |
command [-pVv] command [arg ...] 运行带有 ARGS 的命令忽略壳层函数。如果有一个壳层函数为“ls”,要调用“ls”命令,可以输入“command ls”。如果指定了 -p 选项,则对 PATH 使用默认值,以保证找到所有标准的实用程序。如果指定了 -V 或 -v 选项,则打印描述“命令”的字符串。-V 选项给出更加详细的描述。 |
compgen |
compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [WORD] 根据选项显示可能的补全。专门用于壳层函数中,生成可能补全。如果在可选的单词自变量中提供了值,则根据单词生成匹配项。 |
complete |
complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...] 为每个名称指定补全自变量的方式。如果提供了 -p 选项,或如果未提供任何选项,则以允许重新用作输入的方式打印现有补全规范。-r 选项删除每个名称的补全规范,如果未提供任何名称,删除所有补全规范。 |
continue |
continue [N] 结束 FOR、WHILE 或 UNTIL 循环后继续下一个迭代。如果指定了 N,在第 N 次结束循环后继续。 |
declare |
declare [-afFirtx] [-p] [name[=value] ...] 声明变量和/或为变量提供属性。如果未指定名称,则改为显示变量值。-p 选项显示每个名称的属性和值。 |
dirs |
dirs [-clpv] [+N] [-N] 显示目前记住的目录的列表。使用 pushd 命令可使目录显示在列表上;使用 popd 命令可从列表中取回目录。 |
disown |
disown [-h] [-ar] [JOBSPEC ...] 默认情况下,从活动的作业表中删除每个 JOBSPEC 自变量。如果指定了 -h 选项,则作业不会从表中删除,但会加以标记,以便壳层在收到 SIGHUP 时不发送给作业。-a 选项,在未指定 JOBSPEC 时,表示从作业表中删除全部作业;-r 选项表示仅删除正在运行的作业。 |
echo |
echo [-neE] [arg ...] 输出 ARG。如果指定了 -n,则不换行。如果指定了 -e 选项,则打开以下反斜杠转义字符解释功能:
使用 -E 选项可以明确关闭上述字符的解释功能。 |
enable |
enable [-pnds] [-a] [-f filename] [name...] 启用和禁用 builtin 壳层命令。它允许您使用与壳层 builtin 名称相同的磁盘命令,而不必指定完整路径名。如果使用 -n,则禁用名称;否则启用名称。例如,要在 $PATH 中使用 test 代替壳层 builtin 版本,请输入 enable -n test。在支持动态装载的系统上,-f 选项可用于从共享的对象文件名中装载新的 builtin。-d 选项删除以前使用 -f 装载的 builtin。如果未指定任何非选项名称,或指定了 -p 选项,则打印 builtin 列表。-a 选项表示打印每个 builtin,并指示是否启用。-s 选项将输出限制到 POSIX.2“特殊”builtin 中。-n 选项显示所有已禁用 builtin 的列表。 |
eval |
eval [ARG ...] 将 ARG 读作壳层输入并执行所生成的命令。 |
exec |
exec [-cl] [-a name] file [redirection ...] Exec 文件,将此壳层替换为指定的程序。如果未指定文件,则会使重定向在此壳层中生效。如果第一个自变量为 -l,则在传递给文件的 zeroth 自变量中放置一个破折号,如登录时那样。如果指定了 -c 选项,以空环境执行“文件”。-a 选项表示将已执行过程的 argv[0] 设置为名称值。如果文件无法执行且壳层不是交互的,则在没有设置 execfail 壳层选项的情况下将退出壳层。 |
exit |
exit [N] 状态为 N 时退出壳层。如果省略 N,退出状态为上次执行命令的状态。 |
export |
export [-nf] [NAME[=value] ...] export -p 名称标记为自动导出至后续执行的命令环境中。如果指定了 -f 选项,名称指的是函数。如果指定了名称,或如果指定了 -p,则打印所有在此壳层导出的名称列表。-n 自变量表示从后续名称中删除导出属性。-- 自变量禁用进一步的选项处理。 |
false |
false 返回不成功的结果。 |
fc |
fc [-e ename] [-nlr] [FIRST] [LAST] fc -s [pat=rep] [cmd] fc 用于列出或编辑和重新执行历史记录列表中的命令。第一个和最后一个可以是指定范围的数字,第一个也可以是一个字符串,表示以该字符串开始的最新命令。 |
fg |
fg [JOB_SPEC] 将 JOB_SPEC 放置在前景中,使其成为当前作业。如果 JOB_SPEC 不出现,则使用壳层的当前作业概念。 |
for |
for NAME [in WORDS ... ;] do COMMANDS; done for 循环为每个列表项成员连续执行命令。如果 in WORDS ...; 不出现,则采用 in "$@"。对于单词中的每个元素,名称设置为该元素,并执行命令。 |
function |
function NAME { COMMANDS ; } function NAME () { COMMANDS ; } 创建由运行命令的名称调用的简单命令。将命令行上的自变量和名称传递给函数,形式为 $0 .. $n. |
getopts |
getopts OPTSTRING NAME [arg] Getopts 由壳层过程用于解析位置参数。 |
hash |
hash [-lr] [-p PATHNAME] [-dt] [NAME...] 对于每个名称,确定并记住命令的完整路径名。如果指定了 -p 选项,路径名用作名称的完整路径名,且不执行路径搜索。-r 选项使壳层忘记所有记住的位置。-d 选项使壳层忘记每个记住的名称位置。如果指定了 -t 选项,则打印与每个名称对应的完整路径名。如果指定 -t 的同时指定了多个名称自变量,则对完整路径名执行哈希运算之前打印名称。-l 选项使输出以能够重新用作输入的格式显示。如果未指定自变量,则显示已记住命令的信息。 |
history |
history [-c] [-d OFFSET] [n] history -ps arg [arg...] history -awrm [filename] 显示带有行编号的历史记录列表。已修改带 * 列出的行。N 自变量表示仅列出最后 N 行。-c 选项表示通过删除所有条目来清除历史记录列表。-d 选项删除偏移量为偏移量值的历史记录条目。-w 选项将当前历史记录写入历史记录文件;-r 表示读取文件并追加内容到历史记录列表。-a 表示将此会话的历史记录行追加到历史记录文件。自变量 -n 表示读取所有尚未从历史记录文件中读取的历史记录行,并将它们追加到历史记录列表。 |
jobs |
jobs [-lnprs] [JOBSPEC ...] job -x COMMAND [ARGS] 列出活动作业。-l 选项列出常规信息和进程 id;-p 选项仅列出进程 id。如果指定了 -n,则仅打印自上次通知以来更改了状态的进程。JOBSPEC 将输出限制为该作业。-r 和 -s 选项分别将输出限制为正在运行的作业和已停止的作业。如果不带选项,则打印所有活动作业的状态。如果指定了 -x,命令在 ARGS 中的所有作业规范均替换为该作业进程组领导的进程 ID 后运行。 |
kill |
kill [-s sigspec | -n signum | -sigspec] pid | JOBSPEC ... kill -l [sigspec] 向由 PID(或 JOBSPEC)命名的进程发送 SIGSPEC 信号。如果 SIGSPEC 不出现,则采用 SIGTERM。-l 自变量列出信号名称,如果自变量前面带有 -l,则视为应列出其名称的信号数。Kill 是壳层 builtin 的原因有二:它允许使用作业 ID 代替进程 ID;如果您达到了可以创建的进程数限值,则不必在启动一个进程时终止另一个进程。 |
let |
let ARG [ARG ...] 每个 ARG 都是一个需要求值的算术表达式。求值在固定宽度的整数中完成,不检查是否溢出,即便除数 0 被捕获并标记为错误也是如此。以下运算符列表分为若干个相同优先级运算符级别。级别以降序顺序列出。 |
local |
local NAME[=VALUE] ... 创建名为名称的本地变量,并为其指定值。local 可以用在函数中,使变量名称的可见范围限制为该函数及其子函数。 |
logout |
logout 注销登录壳层。 |
popd |
popd [+N | -N] [-n] 删除目录堆栈中的条目。如果不带自变量,则从堆栈中删除顶层目录并 cd 到新的顶层目录。 |
printf |
printf [-v var] format [ARGUMENTS] printf 在格式控制下格式化并打印自变量。格式是包含三种对象的字符型字符串:普通字符,只需复制到标准输出;字符转义序列,转换并复制到标准输出;格式规范,每种规范均会导致打印下一个连续的自变量。除了标准 printf(1) 格式外,%b 表示在相应的自变量中展开反斜杠转义序列,%q 表示以可重新用作壳层输入的方式引用自变量。如果指定了 -v 选项,输出放置在壳层变量 VAR 的值中,而不是发送至标准输出。 |
pushd |
pushd [dir | +N | -N] [-n] 将目录添加到目录堆栈的顶层,或旋转堆栈,使新的堆栈顶层成为当前工作目录。如果不带自变量,交换两个顶层目录。 |
pwd |
pwd [-LP] 打印当前工作目录。如果带有 -P 选项,pwd 打印物理目录,不带任何符号链接;-L 选项使 pwd 前面带有符号链接。 |
read |
read [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [NAME ...] 指定的名称标记为只读,并且这些名称的值可能无法通过随后的指派进行更改。如果指定了 -f 选项,与“名称”对应的函数会如上标记。如果未指定自变量,或如果指定了 -p,则打印所有只读名称列表。-a 选项表示将每个“名称”视为数组变量。-- 自变量禁用进一步的选项处理。 |
readonly |
readonly [-af] [NAME[=VALUE] ...] readonly -p 指定的名称标记为只读,并且这些名称的值可能无法通过随后的指派进行更改。如果指定了 -f 选项,与名称对应的函数会如上标记。如果未指定自变量,或如果指定了 -p,则打印所有只读名称列表。-a 选项表示将每个名称视为数组变量。-- 自变量禁用进一步的选项处理。 |
return |
return [N] 使函数退出,返回值由 N 指定。如果省略了 N,返回状态为上次执行命令的状态。 |
select |
select NAME [in WORDS ... ;] do COMMANDS; done 展开单词,生成单词列表。将一组展开的单词打印在标准错误上,每个单词前面带有编号。如果 in WORDS 不出现,则采用 in "$@"。显示 PS3 提示,并从标准输入中读取一行。如果该行包括与某个显示的单词对应的编号,则将名称设置为该单词。如果该行为空,则再次显示单词和提示。如果读到 EOF,则命令完成。读取任何其他的值都会使名称设置为空。读取的行保存在变量答复中。命令在每次选择后执行,直到执行中断命令为止。 |
set |
set [--abefhkmnptuvxBCHP] [-o OPTION] [ARG...] 设置内部壳层选项。 |
Shift |
shift [n] $N+1 ... 的位置参数重命名为 $1 ...如果未指定 N,则假设为 1。 |
shopt |
shopt [-pqsu] [-o long-option] OPTNAME [OPTNAME...] 切换变量值以控制选项行为。-s 标志表示启用(设置)每个 OPTNAME;-u 标志取消设置每个 OPTNAME。-q 标志禁止输出,退出状态指示是设置还是取消设置每个 OPTNAME。-o 选项将 OPTNAME 限制为那些已定义为与 set -o 结合使用的名称。如果不带选项,或如果带有 -p 选项,则显示所有可设置的选项列表,并指示是否设置每个选项。 |
source |
source FILENAME [ARGS] 从文件名读取并执行命令,然后返回。$PATH 中的路径名用于查找包含文件名的目录。如果指定了任何 ARGS,在执行文件名时,它们变为位置参数。 |
suspend |
suspend [-f] 暂挂此壳层的执行,直到收到 SIGCONT 信号为止。如果指定了 -f,则表示不介意这是一个登录壳层(如果是),只将其暂挂。 |
test |
test [expr] 退出状态为 0 (true) 或为 1 (false),这取决于 EXPR 的求值结果。表达式可以是一元或二元的。一元表达式通常用于检查文件的状态。包括字符串运算符和数值比较运算符。 |
time |
time [-p] PIPELINE 执行流水线,并在流水线终止时打印执行流水线所用的实时用户 CPU 时间和系统 CPU 时间的摘要。返回状态是“流水线”的返回状态。-p 选项打印计时摘要,打印的格式稍有不同。它使用“时间格式”变量的值作为输出格式。 |
times |
times 打印从壳层运行进程的累计用户时间和系统时间。 |
trap |
trap [-lp] [ARG SIGNAL_SPEC ...] 在壳层接收到信号 SIGNAL_SPEC 时,读取和执行命令 ARG。如果 ARG 缺少(且提供了单个的 SIGNAL_SPEC)或为 -,则将每个指定的信号重设置为其原始值。如果 ARG 为空字符串,则壳层及其调用的命令会忽略每个 SIGNAL_SPEC。如果 SIGNAL_SPEC 为 EXIT (0),则在从壳层退出时执行 ARG 命令。如果 SIGNAL_SPEC 为 DEBUG,则在执行每个简单的命令后执行 ARG 命令。如果指定了 -p 选项,则显示与每个 SIGNAL_SPEC 关联的 trap 命令。如果未指定任何自变量或仅指定了 -p,则 trap 打印与每个信号关联的命令列表。每个 SIGNAL_SPEC 可以是 signal.h 中的信号名称,也可以是信号编号。信号名称不区分大小写且 SIG 前缀是可选的。trap -l 打印信号名称及其相应编号的列表。注意,信号可以通过 kill -signal $$ 发送给壳层。 |
true |
true 返回成功结果。 |
type |
type [-afptP] NAME [NAME ...] 过时,请参见 declare。 |
typeset |
typeset [-afFirtx] [-p] name[=value] 过时,请参见 declare。 |
ulimit |
ulimit [-SHacdfilmnpqstuvx] [limit Ulimit 用于控制壳层启动的进程可以在允许这样控制的系统上使用哪些资源。 |
umask |
umask [-p] [-S] [MODE] 将用户文件创建掩码设置为模式。如果省略了模式,或如果指定了 -S,则打印掩码的当前值。-S 选项使输出变为符号;否则,输出八进制数值。如果指定了 -p,且省略了模式,输出采用可以用作输入的格式。如果模式以数字开始,则它会解析为八进制数值,否则为符号模式字符串,如 chmod(1) 接受的字符串。 |
unalias |
unalias [-a] NAME [NAME ...] 从定义的别名列表中删除名称。如果指定了 -a 选项,删除所有别名定义。 |
unset |
unset [-f] [-v] [NAME ...] 对于每个名称,删除相应的变量或函数。如果指定了 -v,则仅对变量取消设置。如果指定了 -f 标志,则仅对函数取消设置。如果两个标志都未指定,则 unset 首先试图取消设置变量,如果失败,则试图取消设置函数。某些变量无法取消设置;另请参见 readonly。 |
until |
until COMMANDS; do COMMANDS; done 只要 until 命令中的最终命令的退出状态不为零,就展开并执行命令。 |
wait |
wait [N] 等待指定的进程并报告其终止状态。如果未指定 N,则等待所有当前活动的子进程,返回代码是零。N 可以是进程 ID,也可以是作业规范;如果指定了作业规范,则等待作业流水线中的所有进程。 |
while |
while COMMANDS; do COMMANDS; done 只要 while 命令中的最终命令的退出状态为零,就展开并执行命令。 |