统管理界面工具(SystemManagementInterfaceTool,SMIT)是一种交互式的应用程序,它几乎可以用来简化AIX?系统管理中各方面的工作。在学习完本文后,您将会把SMIT作为AIX系统管理员最好的工具。
快捷方法
SMIT提供了一些键命令,可用来快速地在冗长的、滚动的输出屏幕中进行导航。尽管这些键盘输入在命令状态屏幕中最有用处,但它们可以在所有的屏幕中使用(请参见表1)。
表1.用于导航的键盘命令键盘输入 操作
向下箭头 向下滚动一行
向上箭头 向上滚动一行
Control+V(或PageDown) 向下滚动一页
Escape+V(或PageUp) 向上滚动一页
Escape+>(或End) 跳至输出或清单的末尾
Escape+<(或Home) 跳至输出或清单的开头
日志记录每个SMIT会话都会在两个文件中记录相关条目:smit.log和smit.script。这些文件将会写入到HOME环境变量指定的目录,而不是在/etc/passwd中指定的该用户的实际home目录。
SMIT不会覆盖现有的日志文件,如果这些文件已经存在,并且可以由当前用户进行写入,它通常会尝试在这些文件后追加信息。如果SMIT不能写入这些文件,它会显示一则警告消息,然后继续执行相应的功能而不再进行日志记录。
请注意,尽管任何用户都可以运行SMIT可执行文件,但是它完成所需任务时执行的许多AIX命令需要root或其他受限的权限。如果未授权的用户试图完成其中的任务,那么任务将会失败。因为SMIT通常由root运行,所以应该对SMIT日志文件进行监视和清理,以确保它们不会变得过大并占用/文件系统中所有的可用空间。
smit.logsmit.log文件包含关于使用SMIT执行的操作的详细信息。对于每个SMIT会话,它将记录SMIT启动的日期和时间、访问的每个菜单屏幕的记录(以及该屏幕的快捷路径)、SMIT执行的所有命令和这些命令的输出。
在确定对系统进行了哪些更改以及这些更改的具体发生时间时,对smit.log进行监视非常有用。然而,该日志文件将不会反映任何直接通过运行系统命令所进行的更改。
smit.scriptsmit.script文件包含SMIT执行任务时实际运行的AIX命令。该文件以KornShell语法书写,所以它可以作为命令序列本身执行,这样做可以重复原来由SMIT执行的所有任务。
smit.script的常见用法之一是,复制跨系统的大量的任务。如果使用SMIT实现对一个系统的所有更改,那么可以将smit.script复制到其他的系统,并且加以执行,这样可以实现所有系统的更改,而无需编写任何代码。
使用SMIT脚本的一个示例
现在,让我们将SMIT应用于一个实际的AIX示例。假设您需要为10个或100个AIX系统分别添加一个4GB的文件系统。您可以手动地完成这项操作,但是最后可能会感到非常厌倦,并且反复地进行输入增加了出现错误的可能。您可以将合适的命令组织在一起,并使用各种参数和标志,然后在每个系统中运行它们。或者,可以让SMIT为您编写这些命令。
在下面的示例中,使用SMIT创建一个4GB的增强JFS(JFS2)文件系统,该文件系统在系统重启时自动装入到装入点/fs01,并使用内联JFS日志。然后,将SMIT编写的脚本复制到其他的系统,并在其中运行该脚本以创建文件系统。
启动SMIT的第一步是使用命令:smit-s/tmp/mknewfs.kshcrjfs2std。-s标志告诉SMIT将其脚本输出写入到文件/tmp/mknewfs.ksh,而不是缺省的文件/smit.script。具体的操作将被记录到/smit.log。通过指定快捷路径crjfs2std,您可以直接转到AddanEnhancedJournaledFileSystem对话框屏幕。在显示该屏幕(如清单6中所示)之前,您需要在其中选择一个卷组以创建新的文件系统。
清单6.AddanEnhancedJournaledFileSystemSMIT对话框屏幕
AddanEnhancedJournaledFileSystem
Typeorselectvaluesinentryfields.
PressEnterAFTERmakingalldesiredchanges.
[EntryFields]VolumegroupnamedatavgSIZEoffilesystemUnitSizeGigabytes+
*Numberofunits[4]#
*MOUNTPOINT[/fs01]
MountAUTOMATICALLYatsystemrestart?
yes+PERMISSIONSread/write+MountOPTIONS[]+BlockSize(bytes)
4096+InlineLog?yes+InlineLogsize(MBytes)[]#
F1=HelpF2=RefreshF3=CancelF4=List
F5=ResetF6=CommandF7=EditF8=Image
F9=ShellF10=ExitEnter=Do
|
在按Enter键使得SMIT执行清单6中的命令之前,清单7中的脚本将写入到文件/tmp/mknewfs.ksh。