本章仅适用于已授权的用户。仅当更新 /etc/inittab 和 /etc/rc 文件时需要 root 用户权限。
管理员可以调度 Tivoli Storage Manager 自动执行任务。例如,全天工作结束后自动备份文件,或在每个星期五归档部分文件。该过程即中央调度,是服务器与客户机节点之间进行协作的结果。管理员将客户机和一个或多个调度相关联,这些调度是在服务器数据库中维护的策略域的一部分。 管理员在服务器上定义中央调度,而您可以在工作站上启动客户机调度程序。一旦启动了客户机调度程序,随后的工作就会自动执行,无须您介入。
通过客户机调度,还可以:
记录:
关于更多信息,请参阅配置客户机调度程序。
关于启用备份-归档客户机、命令行管理客户机和调度程序运行在防火墙外的信息,请参阅Tivoli Storage Manager 防火墙支持。
可在客户机系统选项文件(dsm.sys)或在图形用户界面中修改调度选项。但是,如果管理员为这些选项指定了值,则该值将覆盖客户机中的值。
关于调度选项、更改调度方式、指定 TCP/IP 地址或端口号、或在调度之前或以后运行命令的更多信息,请参阅"调度选项"。
要在客户机节点上启动客户机调度程序并连接到服务器调度,请更改到 Tivoli Storage Manager 安装目录并输入下列命令:
dsmc schedule
启动客户机调度程序时,它会持续运行,直至用户关闭窗口、结束进程或注销系统注册时为止。
要在后台运行 schedule 命令,以便即使已注销系统也使客户机调度程序一直运行,请输入:
nohup dsmc schedule 2> null &
如果工作站需要 Tivoli Storage Manager 密码,而您想在后台运行 schedule 命令,则在使用命令时输入密码。
Root 用户:为自动启动客户机调度程序,请确保客户机系统选项文件(dsm.sys)中的 passwordaccess 选项设置为 generate,然后在操作系统中执行下列过程:
tsm::once:/usr/bin/dsmc sched > /dev/null 2>&1 # TSM scheduler
cd /usr/lpp/Tivoli/tsm/client/ba/bin sleep 60 ./dsmc schedule该脚本可以防止创建两个使用同一名称的作业,并启用自动关机。可能需要为系统定制时间。
# Set environment variables to retrieve the servername and # nodename options from dsm.sys. export DSM_DIR=/tivoli/tsm/client/ba/bin export DSM_CONFIG=/tivoli/tsm/client/ba/bin/dsm.opt # Start the TSM Client scheduler and redirect outputs to # schedule.out instead of the /etc/log file. _BPX_JOBNAME='ADSMCLNT' /tivoli/tsm/client/ba/bin/rundsmc 1>/tivoli/tsm/client/ba/bin/schedule.out 2>&1 &
因为 TCP/IP 没有完全初始化,客户机调度程序可能无法在 IPL 正确初始化。可能需要为系统定制时间以弥补此情况。
当客户机调度程序正在运行时,Tivoli Storage Manager 不能识别对 dsm.opt 或 dsm.sys 文件的更改。如果用户在客户机调度程序运行期间对这些文件进行更改,而希望立即使用新的值,则必须停止客户机调度程序,然后重新启动它。例如,如果在 dsm.sys 文件中更改 inclexcl 选项以指向不同的包含-排除选项文件,则必须在 Tivoli Storage Manager 使用新文件之前停止客户机调度程序,然后重新启动它。
要手动停止客户机调度程序,如果调度程序正在后台运行,则输入 kill 命令,如果正在前台运行,则按下 q 或 Ctrl+C。要重新启动客户机调度程序,应再次输入命令 schedule。
即使已在选项文件中设置了 tapeprompt 选项,执行调度事件期间也不会产生磁带提示。
使用客户机接受器守护程序来管理客户机调度程序。 关于更多信息,请参阅配置客户机调度程序。
备份-归档命令行界面和调度程序退出,且返回码准确地反映了客户机操作的成功或失败。已具有可从命令行界面翻译返回码的脚本、批处理文件或其它调度或自动简便工具的用户需要作更改以便适应这些新的返回码。
一般在客户机操作过程中返回码与最高严重性消息关联。
以上规则的例外是单个文件不能处理的警告或错误消息。对于这种被忽略的文件, 返回码将为 4。对于返回码不为 0 的情况,可以检查 dsmerror.log 文件(并且,对于已调度事件检查 dsmsched.log 文件)。
对与返回码得描述及其意义,请参阅表 32
代码 | 解释 |
---|---|
0 | 所有操作成功完成。 |
4 | 操作成功完成,但有些文件没有处理。没有其它错误或警告。此返回码很常见。由于多种原因未处理文件。最常见原因有:
|
8 | 操作完成,至少具有一个警告消息。对于已调度事件,状态为完成。查看 dsmerror.log(对已调度事件查看 dsmsched.log)以确定发出了什么警告消息并且估计对操作的影响。 |
12 | 操作完成,至少具有一个错误消息(除已跳过文件的错误消息)。对于已调度事件,状态为失败。查看 dsmerror.log 文件(对已调度事件查看 dsmsched.log 文件)以确定发出了什么错误消息并且估计对操作的影响。最为一般规则,此返回码意味着错误严重到足以妨碍操作的成功完成。例如,妨碍整个对文件系统的处理的错误生成返回码 12。当找不到文件时,操作生成返回码 12。 |
其他 | 对于已调度操作(其中的已调度操作是 COMMAND),
返回码将是来自执行命令的返回码。如果返回码是 0,已调度操作的状态将为完成。如果返回码为非零,
那么状态将为失败。
一些命令可能发出表示成功的非零返回码。对于这些命令, 可以通过在脚本中包装该命令来避免失败, 该脚本调用命令、解释结果并在命令成功时以返回码 0 退出(脚本应在命令失败时以非零返回码退出)。然后要求 Tivoli Storage Manager 服务器管理员修改调度定义以调用脚本,而不是调用命令。 |
客户机宏的返回码将是组成宏的单个命令发出的最高返回码。例如,假设宏由这些命令组成:
selective "/home/devel/*" -subdir=yes
incremental "/home/devel/TestDriver/*" -subdir=yes
archive "/home/plan/proj1/*" -subdir=yes
如果第一个命令以返回码 0 完成;第二个命令以返回码 8 完成;第三个命令以返回码 4 完成;则此宏的返回码为 8。
要查看为客户机节点定义的调度,输入:
dsmc query schedule
Tivoli Storage Manager 显示有关客户机节点的所有已调度工作的详细信息。下图显示 query schedule 输出样本。
调度名称:DAILY_INC 描述:每天备份整个系统 操作:增量备份 选项:QUIET 对象: 优先级:1 下次执行:30 分钟 持续时间:4 小时 周期:1 天 星期几:任意 到期:永不 调度名称:WEEKLY_INC 描述:每周备份项目文件 操作:增量备份 选项:QUIET 对象:/proj 优先级:1 下次执行:60 分钟 持续时间:8 小时 周期:7 天 星期几:星期五 到期:永不 |
调度名称 DAILY_INC 启动每天的增量备份。下一次增量备份将在 30 分钟以后启动。因为没有列出任何对象,所以 Tivoli Storage Manager 在用户的缺省域上运行增量备份。该调度没有到期日期。
调度名称 WEEKLY_INC 启动 /proj 文件系统中的每周增量备份。
在前台运行命令 schedule 命令时,屏幕上将显示已调度命令的输出。除非使用选项 schedlogname 更改路径和文件名,否则输出还被定向到 当前目录下的文件 dsmsched.log 中。
在后台运行命令 schedule 时,已调度命令的输出定向到当前目录下的文件 dsmsched.log 中,或定向到您指定的路径和文件名下。请注意 dsmsched.log 不能是符号链接。
已调度工作完成后,应查看调度日志,验证所有的工作都已成功完成。
处理已调度命令时,调度日志包含下列条目:
已调度事件 eventname 已成功完成
客户机指出是否 Tivoli Storage Manager 已成功地发出与 eventname 关联的已调度命令。未尝试确定该命令执行成功与否。可以通过评估调度日志中的已调度命令的返回码来估计该命令的状态。命令返回码的调度日志条目以下列文本开头:
命令已经完成。返回码为:
调度记录继续增加,直至用户使用 schedlogretention 选项删减为止。关于更多信息,请参阅"指定调度选项"。
调度程序在用户标识 0 下执行命令;然而,一些命令可能需要在不同于 0 的用户标识下执行。在此情况下,Tivoli Storage Manager 管理员可以为命令定义调度,将使用 schedcmduser 服务器选项在不同于调度程序用户标识的标识下执行该命令。
schedcmduser 选项指定了执行已调度命令的系统的有效用户名。如果已指定此选项,则使用指定用户的权限执行命令。否则将使用调度程序权限执行命令。
>>-SCHEDCMDUser---user_name------------------------------------><
可以使用 schedcmddisabled 选项禁用服务器调度的命令。在 define schedule 服务器命令中使用 action=command 选项可以调度命令。
schedcmddisabled 选项不会禁用 preschedulecmd 和 postschedulecmd 命令。然而,可以指定带有空格或空串的 preschedulecmd 或 postschedulecmd 禁用调度这些命令。关于更多信息,请参阅Schedcmddisabled。