HP小型机的信息的命令集(三)

51、HP的网卡激活、去激活命令
#ifconfig lan0 up //激活网卡lan0
#ifconfig lan0 down //去激活网卡lan0
备注:平时排除网卡的错误一般方法是:ping /ifconfig up|down /linkloop

52、HP L2000(for scp)双机配置的详细注解
安装操作系统,确定主机名字,确定root的口令,确定/、/usr、/var等文件系统的大小,选择
主用网卡,并且给主用网卡赋予IP地址;
打CR补丁,打GR补丁;
安装另外两个附加网卡的驱动程序,此时用ifconfig可以看到三块网卡都up了;
用直连线将两台机器的主用网卡都连接到主用的HUB上去;
给其中一个附加网卡赋予IP地址,此Ip地址与主用网卡的Ip地址是两个网段中的地址,并且用交叉线
将主备机的这个附加网卡连接起来,作为心跳线;
另外剩余的一个网卡不用赋予IP地址,它是作为主用网卡和心跳网卡的备用网卡,它不用给IP地址,
它的替用关系在双机配置文件cmcluster.asc文件中有指定,当主用、心跳网卡损坏的时候,它就会
去替换他们,并且获取他们的Ip地址;
最后安装cmluster双机软件,该软件安装的时候用swinstall -s /cdrom来安装,但是安装之前必须
要数据codeword,只有输入正确的codeword之后,才会看到该软件包,而codeword的获取是要根据
随机发的纸件中获取,或到http://www.license.hp.com网站上获取,安装完后进入目录/usr/sbin下
检查有没有cmruncl/cmdeleteconf/cmapplyconf/cmhaltcl/cmrunnode/cmhaltnode等等文件;
创建锁盘逻辑卷组;
创建其它逻辑卷组、逻辑卷;
安装数据库;
安装tellin应用程序;
将双机配置文件拷贝到/etc/cmluster/目录下面进行配置、应用;
启动数据库;
启动应用;
启动双机;

53、HP N4000(for sdp)双机配置的详细注解
安装完操作系统,如同hp l2000一样;
安装一系列的包,并且安装FC60软件包;
将FC60上的三个sc10磁盘柜子中的磁盘划分成物理卷组LUN,如LUN0/LUN1/LUN2/LUN3等;
在LUN上创建锁盘逻辑卷组、其它逻辑卷组,在第一台上创建,在vgimport到第二台机器;
在的一台上激活其它逻辑卷组;
安装数据库;
再停止数据库;
将逻辑卷组在的一台机器上去激活;
在第二台机器上激活逻辑卷组;
在第二台机器上安装数据库文件系统;
从第一台机器上拷贝onconfig、sqlhosts、.rhosts、services等等文件到第二台机器上;
在第二台机器上直接oninit启动数据库;
在/etc/cmcluster/目录下面配置双机配置文件;
在/etc/hosts中加入逻辑机对应的逻辑IP;
将数据库中的sqlhosts文件的机器名改为逻辑机的名字或者改为浮动IP地址;
将逻辑卷组都去激活;
启动双机;
切换双机检验是否切换正常;

54、关于锁盘

1)锁盘的含义
锁盘是为双机系统出现某些特殊故障时确定主备用关系设置的,
因此每个节点在正常情况下都必须有权访问锁盘,因此也建议
用户不要将此盘为其它应用程序服务。为防止锁盘故障,锁盘
可配置多于一块,这时的要求同单块时一样,只是在配置文件
中需将所用锁盘都说明。在配置文件cmcluster.asc文件说明。

2)锁盘的物理盘
锁盘的物理磁盘必须有两个scasi磁盘接口与两台主机都要连接才行的。
安装于共享磁盘柜中。
锁盘是双机系统所必须的,而且必须采用共享磁盘形式。

3)锁盘的逻辑卷组的创建
在TELLIN-SCP双机系统中,锁盘中不放置任何用户数据,
因此不需要进行逻辑卷的划分。若用户希望使用此盘空间,
可在不影响SCP双机正常工作的情况下根据自己的要求自行划分,双机对此没有附加要求。
在第一台机器上执行:
pvcreate /dev/rdsk/c0t2d0
vgcreate /dev/vglock /dev/dsk/c0t2d0
vgchange -a y /dev/vglock
vgdisplay //看看能不能够看到vglock这个磁盘卷组是激活的状态。
vgchange -a n /dev/vglock
vgdeport -m -s /tmp/vglock.map /dev/vglock //将vglock卷组的创建信息到处到一个map文件中

在第二台机器上执行:
rcp scp1:/tmp/vglock.map scp2:/tmp/vglock.map
mkdir /dev/vglock
mknod /dev/vglock/group c 64 0x010000
vgimport -m -m /tmp/vglock.map /dev/vglock
vgdisplay
vgchange -a y /dev/vglock

4)锁盘在双机运行重的状态
锁盘在双机启动之前应该在两台机器上都是去激活的状态,
即便是双机启动了,锁盘同样是去激活的状态。

55、关于双机cluster所使用的磁盘、以及应用package所使用的磁盘
cmclustar.asc所使用的磁盘的数量多余于package所使用的磁盘。

56、FC60磁盘柜的维护命令集

57、如何启动scp系统
启动备机数据库
oninit
启动备机数据库
oninit
启动主机应用
manager
启动备机应用
manager
在主机上启动双机
mcruncl

58、如何启动sdp系统
因为sdp一般都是采用共享磁盘柜的形式,所以只需要
将共享磁盘在一台机器上运行cluster就行了:
cmruncl
它就会将informix和sdp等所需的逻辑卷组都激活,并且
将文件系统都挂接上,然后就cluster启动起来。

59、当数据库和cluster的主备不一致时,怎么恢复?
1)主用数据库运行scp1上,而应用程序的主用运行第二台机器上,
这个时候只能将应用程序停止,然后将数据库都停止,将双机
也停止。

2)然后将双机的配置文件删除,用命令cmdeleteconf来删除。
然后再来生成配置文件,用命令cmapplyconf -C cmcluster.asc
-P ./scppkg/scppkg.asc;然后将刚才是主用的数据库启动起来
并且将它变为standard状态,再在该台机器上做一个数据库的0级
备份,然后将磁带拿到第二台机器上去恢复数据库,重新建立DR
关系之后,我们就可以将应用起来,然后将双机拉起来。

此时数据库和双机的应用应该都一致。

60、hp小型机器第一次安装完操作系统之后,必须要修改的参数。
比如数据库参数,不修改的话就无法初始化数据库。

61、如何创建rootdg的系统备份(备份rootdg下面所有的东西)
===========================================
1)在一台好的机器上备份
#make_recovery -Av //备份的是vg00卷组下所有的东西,比如/ ,/stand , /var ,/swap
等等,备份放在了磁带上,下次若系统损坏了,可以用该磁 带来启动并恢复系统。

1)若用make_recovery 作备份的磁带来恢复的话,过程如下:
----非交互式恢复系统
[1] 在磁带机中,插入系统恢复带
[2] Boot 系统
[3] 中断Boot 流程,进入 Boot_admin>; 提示下
[4] Boot_admin>; bo 8/16.0.0
8/16.0.0: 磁带机的 hardware path
[5] 选取 ?non-interactive ?
[6] 等待系统恢复完毕
-----交互式恢复系统
[1] 在磁带机中,插入系统恢复带
[2] Boot 系统
[3] 中断Boot 流程,进入 Boot_admin>; 提示下
[4] Boot_admin>; bo 8/16.0.0
8/16.0.0: 磁带机的 hardware path
[5] 不选取 ?non-interactive ?[6] 选取
a. [ Install HP-UX ]
b. [ ] Advanced Installation
c. 配置或改变如下选项:
disks, file systems,
hostname, IP ddress,
timezone, root password,
DNS server, and gateway

[7] 选取 [install continue?],直到系统恢复完毕

===========================================

62、如何更改HP的console终端的终端类型
A、进入缺省配置状态下面
现在关闭console的电源
control + d
然后在左手不松动的情况下打开电源
知道出现了提示说“已经进入了缺省的设置”,就放开左手,然后再打回车便可以进入缺省模式下面;

B、进入configuration状态
先按住F8
再按住F10
然后用space空格键来进行选择修改,一般将终端类型选择为HP,但是也有时候选择vt100
修改之后按Esc退出键来进行保存退出,便可以了;

63、console其它各个参数的修改

如果将我们诊断用户的故障电话进行分类,其中相当一部分的问题是出在Console的设置上。
通常的现象是Console上没有系统显示,或是键盘被锁住等。用户往往认为是主机的问题,
其实不然。下面我们简单介绍一下:
小型机控制台能正常运行的缺省配置是:
REMOTE MODE ON(带* 号)
MEMORY LOCK OFF(不带*号)
LINE MODIFY OFF(不带*号)
MODIFY ALL OFF(不带*号)
BLOCK MODE OFF(不带*号)
查看上述配置的方法,如下:
在小型机控制台的键盘上方有一排功能键F1-F8,在功能键F4与F5之间有Menu和User System两个键。
当要查看小型机控制台的参数配置时,首先按User System键, 这时在小型机控制台屏幕的最下面一
行显示出8个高亮度的方块,每个方块从左到右分别对应功能键F1到F8;
再按功能键F4,表示选择Modes,依然是8个亮方块,但是方块上的文字改变了。依照上述5个参数的
名称检查相应的方块,看是否正确地配置了。如果没有,按与方块对应的功能键进行改变,直到所有
参数正确地配置好。最后按Menu键退出。
此外,这里介绍一种快速解决Console故障的方法:

1)关闭Console电源
2)摁住CTL+D键,开Console电源,直到听到"笛"声,松开按键。
3)稍等片刻,在屏幕左下角将出现"Default configs used, Press enter clear"字样,按enter后一切恢复正常。
4)如果F4键位置的Remote Mode没有*号,摁F4加上*
以上做法实质上是为了恢复 Console缺省设置。

64、忘记了HP的口令该怎么办?
重启动机器到维护模式下面,更改后将模式再进入多用户模式就ok了:
1)重启,自检完成后,出现这一行“To discontinue , press any key in 10 seconds",
这个时候按任意,系统终止启动,进入Main Menu”
2)键入“bo”,在系统询问“Interact with IPL(Y/N?)?”时,输入“y”。
3)在提示符ISL>;之后,输入"hpux - is ",系统进入单用户状态(即维护模式)
4)用passwd 更改口令
5)切换到多用户状态,用命令init 3,系统回复正常

65、HP:磁盘管理软件LOGIC VOLUMN MANAGER ,简称LVM,
它的修改卷组的用户和读写权限是用hpux 中的chown 和chmod来实现的。
补充:
初始化物理磁盘:pvcreate -f /dev/rdsk/c1t1d0
创建卷组:mkdir /dev/vglock
mknod /dev/vglock/group c 64 0x0001
vgcreate /dev/vglock /dev/dsk/c1t1d0
查看卷组激活信息:vgdisplay /dev/vglock
激活卷组:vgchange -a -y /dev/vglock (用vgchange -c -y /dev/vglock来强制激活 )
去激活卷组:vgchange -a n /dev/vglock (用vgchange -c n /dev/vglock来强制去激活)
创建逻辑卷:lvcreate -L 500 -n lv_root /dev/vglock (-L是指定大小,单位 M)
lvcreate -l 250 /dev/vglock (-l 是指页数,页单位4M)
创建文件系统:newfs -F hfs /dev/vglock/rlv_root
mkdir /informix
mount /dev/vglock/lv_root /informix
扩展逻辑卷:lvextend -l 50 /dev/vglock/lv_root (单位是页,页的大小再创建
卷组时已经确定,不可以再更改,一般缺省为4M,所以是200M。)
或者
lvextend -L 200 /dev/vglock/lv_informix (这是带大写的L参数,表示
是以M为单位来分配的大小的。)
扩展文件系统:umount /informix
extendfs /dev/vglock/lv_root
(如果是vxfs文件系统,则用
extendfs -F vxfs /dev/vg00/lvol4)
mount /dev/vglock/lv_root /informix

导出逻辑卷组:vgexport -p -v -m /tmp/lock.map /dev/vglock
(将vglock逻辑卷组的信息导出)

删除逻辑卷组:vgexport -v -m /tmp/lock.map /dev/vglock (删除逻辑卷组vglock)

将该逻辑卷组导入导另外一套小型机上:
rcp scpn1:/tmp/lock.map scpn2:/tmp/lock.map
在节点scpn2中,创建锁盘卷组目录名(取和scpn1节点相同的目录名)
命令:# mkdir /dev/vglock
在scpn2节点上,为锁盘创建一控制文件名group
命令:# mknod /dev/vglock/group c 64 0x0001
最后一个参数oxhh0000应保证在scpn2节点中是唯一的,可能的话,
其参数设置和scpn1节点 相同。为保证唯一性,可以如下命令检查已存在的卷组:
在scpn2节点上,将锁盘配置从文件映射回系统
命令:# vgimport -s -m /tmp/lock.map /dev/vglock

66、用 fbackup & frecover灵活的备份所有mounted文件系统或者指定某个文件系统,
也可以用来恢复整个文件系统,也可以灵活的恢复某个指定的文件系统,比make_recovery -Av
要灵活一些,而且这两个命令恢复只需要在单用户模式下,而make_recovery这个命令要
重新用磁带启动来恢复整个rootdg.

备注:与make_recovery的区别
make_recovery主要是备份rootdg的内容,用户恢复操作系统的;
fbackup & frecover主要是用来备份所有的逻辑卷组中所有的mounted文件系统文件;
A、系统备份命令: fbackup

1) fbackup的常用方式一:
[1] 进入单用户:
# init -s 或
# shutdown 0
[2] 系统全备份
# fbackup -f /dev/rmt/0m -0iv / -I /tmp/sysbk.index
-f : 设备文件名 ( such as DDS tape driver)
-i : 要包含的目录
-e: 不包含的目录
- I: 备份内容检索目录
- v: 备份内容详细列表
- 0 : 零级备份
# fbackup -f /dev/rmt/0m -i / -e /home
备份除了目录 /home的所有目录
[3] 说明
a、该命令方式对系统当前mounted的文件系统进行备份
b、备份级别说明
备份级别有0~9个级别,如果当前系统采用零级备份,当下一次采用5级备份时,系统仅将会对有变化的文件进行备份。
2) fbackup的常用方式二:
〖1〗 # mkdir -p /tmp/fbackupfiles/index
# mkdir -p /tmp/fbackupfiles/log
〖2〗 # touch/tmp/fbackupfiles/index/full.`date'+%y%m%d.%H:%M'`
〖3〗进入单用户
# shutdown -y 0
〖4〗对系统进行全备份
# fbackup -0vi / -f /dev/rmt/0m \
-I /tmp/fbackupfiles/index/full.`date '+%y%m%d.%H:%M'` \
2 >; /tmp/fbackupfiles/log/ full.`date '+%y%m%d.%H:%M'`
〖5〗说明
通过该方式可以知道系统备份需要的时间
3) fbackup的常用方式三:
〖1〗进入单用户
# shutdown -y 0
〖2〗对系统进行全备份
# fbackup -0uv / -f /dev/rmt/0m \
-g /tmp/fbackupfiles/mygraph \
-I /tmp/fbackupfiles/index/full.`date '+%y%m%d.%H:%M'` \
2 >; /tmp/fbackupfiles/log/ full.`date '+%y%m%d.%H:%M'`
〖3〗说明
a、文件 mygraph: 包含需要备份的目录,格式如下:
/users/data
/home/app
e /oracle/sql
b、参数 u :
当备份系统成功时,系统将更新 /var/adm/fbackupfiles/dates.
4) fbackup的常用方式四:
备份远程系统
[1] 登录在本地系统时
# remsh backup_sysname " fbackup -f DDS_sysname: /dev/rmt/0m -0vi / "
[2] 登录在远程系统时
# fbackup -f backup_sysname: /dev/rmt/0m -0vi /
5) fbackup的常用方式五:
压缩方式备份( 不建议使用、影响系统性能)
[1] 压缩方式备份
# fbackup -0vi /dir -f - | compress | dd of=/dev/rmt/0m obs=10k
"-" : 指向标准输出
[2] 查看备份内容
# dd if=/dev/rmt/0m ibs=10k | uncompress | frecover -I - -f -

B、 系统恢复命令: frecover
1) 恢复磁带机上所有内容:
[1] 进入单用户:
# init -s or shutdown 0
[2] 恢复数据
# frecover -rf /dev/rmt/0m
恢复磁带上的所有数据
-f: 设备文件名
-r: 恢复磁带上的所有数据
-I: 将磁带上文件索引存到指定的文件中
# frecover -I /tmp/index.txt -f /dev/rmt/0m
2) 恢复某一目录:
# frecover -xi /directory
# frecover -x -i /dir1 -i /dir2
# frecover -xoi /dir
-o: 覆盖/dir下已有的、相同名称的文件
# frecover -xvXi /dir
-X: 按磁带上目录恢复数据
# cd /tmp/local; frecover -xvYi /dir
-Y: 按磁带上文件名恢复数据
例如:
# cd /tmp/local
# frecover -xvF -i /home/filename
[恢复结果] /tmp/local/filename 不是 /home/filename
3) 从远程磁带机上恢复数据到本地:
# frecover -xi /dir -f remote_name : /dev/rmt/0m
4) 从本地磁带机上恢复数据到远地系统:
# remsh remote_name "frecover -xi /dir -f local_name:
/dev/rmt/0m"


67、修改HP双机系统启动特性
HP机及SUN机型通常采用下述两种办法:HP机型:
修改配置文件:/etc/rc.config.d/cmcluster将其设为如下内容:
AUTOSTART_CMCLD=1。

SCP 双机系统在主机启动时,不允许自动启动CLUSTER和其上的PKG,需要编辑
/etc/rc.config.d/cmcluster文件,使:
AUTOSTART_CMCLD=0

68、HP双机配置时,节点访问权限的配置
访问权限设置
在进行CLUSTER和PKG配置之前,要配置或修改访问安全文件,使每个节点有访问另一个节点的权限。
权限设置如下:
以root用户权限编辑(或创建)位于/etc/cmcluster目录下的cmclnodelist文件,使其包含如下内容:
scp1 root
scp2 root
scp1 tellin
scp2 tellin
.rhosts
以root用户权限编辑根(/)目录下的.rhosts文件,使其包含如下内容:
scp1 root
scp2 root
scp1 tellin
scp2 tellin
hosts.equiv
添加如下内容:
scp1 root
scp2 root
scp1 tellin
scp2 tellin

69、HP小型机中内存与cpu的关系
一个cpu一般最多配置0.5G的内存,两个cpu配置1G的内存。

70、swapinfo查看交换区的使用情况,以及交换区的大小
scp1:/hptmp #swapinfo
Kb Kb Kb PCT START/ Kb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 1048576 0 1048576 0% 0 - 1 /dev/vg00/lvol2
reserve - 792332 -792332
memory 781512 318032 463480 41%

71、HP硬件收集工具的使用(适合于HP11。0版本和HP10。0版本)

信息收集工具Info_col.xx和LVMcollect.xx使用方法:

a. 在需要进行收集的主机上建立一个目录:
# mkdir /tmp/hpce

b. 将收集工具info_col.xx和LVMcollect.xx传到需要进行收集的主机上的/tmp/hpce目录下:
如果主机使用的OS是10.xx,则使用info_col.10和LVMcollect.10的脚本;如果主机使用的OS是11.xx,
则使用info_col.11和LVMcollect.11的脚本。
可以使用ftp的方式(使用asc方式传送)传到主机,也可以使用磁带tar到主机。

c. 修改info_col.xx和LVMcollect.xx的执行权限。
# chmod 744 info_col.xx
# chmod 744 LVMcollect.xx

d. 运行相应版本的info_col.xx进行信息收集工作。
对操作系统为10.xx的主机:
# cd /tmp/hpce
# sh ./info_col.10
对操作系统为11.xx的主机:
# cd /tmp/hpce
# sh ./info_col.11

e. 系统提示输入相应的信息
输入操作者姓名
输入操作者员工号(可输入6个0)
输入产品型号(在主机贴的标签上可以找到--"机器型号项")
输入产品序列号(在主机贴的标签上可以找到--"序列号项")
(注意:序列号一定要输入准确,请仔细核对)
确认输入的内容(选择"y",系统开始自动进行信息收集)

f. 等待自动收集程序运行结束,系统会在收集脚本执行的目录下(
通常为/tmp/hpce目录)生成一个ascii文件,文件名为"<序列号>;.txt",此文件就是最后收集到的信
息文件。将此文件保存并传回即完成信息收集工作。

(备注:其实shell程序中使用的都是一系列的命令,如:ioscan -fn;mstm;sam等)

72、umask如何设置
当最初登录到系统中时, u m a s k命令确定了你创建文件的缺省模式。这一命令实际上和
c h m o d命令正好相反。你的系统管理员必须要为你设置一个合理的u m a s k值,以确保你创建的
文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。
在已经登录之后,可以按照个人的偏好使用u m a s k命令来改变文件创建的缺省权限。相应
的改变直到退出该s h e l l或使用另外的u m a s k命令之前一直有效。
一般来说,u m a s k命令是在/ e t c / p r o f i l e文件中设置的,每个用户在登录时都会引用这个文
件,所以如果希望改变所有用户的u m a s k,可以在该文件中加入相应的条目。如果希望永久性
地设置自己的u m a s k值,那么就把它放在自己$ H O M E目录下的. p r o f i l e或. b a s h _ p r o f i l e文件中。

如何计算umask值
u m a s k命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、
其他用户)存在一个相应的u m a s k值中的数字。对于文件来说,这一数字的最大值分别是6。系
统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用c h m o d命令增加这一
权限。目录则允许设置执行权限,这样针对目录来说, u m a s k中各个数字最大可以到7。
该命令的一般形式为:
umask nnn
其中n n n为u m a s k置0 0 0 - 7 7 7。
让我们来看一些例子。
计算出你的u m a s k值:
可以有几种计算u m a s k值的方法,通过设置u m a s k值,可以为新创建的文件和目录设置缺
省权限。表1 - 8列出了与权限位相对应的u m a s k值。
在计算u m a s k值时,可以针对各类用户分别在这张表中按照所需要的文件/目录创建缺省
权限查找对应的u m a s k值。
例如,u m a s k值002 所对应的文件和目录创建缺省权限分别为6 6 4和7 7 5。
还有另外一种计算u m a s k值的方法。我们只要记住u m a s k是从权限中“拿走”相应的位即
下载
表1-8 umask值与权限
u m a s k 文件目录
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0
例如,对于u m a s k值0 0 2,相应的文件和目录缺省创建权限是什么呢?
第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。
第二步,在下面一行按照u m a s k值写下相应的位,在本例中是0 0 2。
第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。
稍加练习就能够记住这种方法。
第四步,对于文件来说,在创建时不能具有执行权限,只要拿掉相应的执行权限比特即
可。
这就是上面的例子,其中u m a s k值为0 0 2:
1) 文件的最大权限rwx rwx rwx (777)
2) umask值为0 0 2 - - - - - - -w-
3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限
4) 文件权限rw- rw- r-- (664) 这就是文件创建缺省权限
下面是另外一个例子,假设这次u m a s k值为0 2 2:
1) 文件的最大权限rwx rwx rwx (777)
2 ) u m a s k值为0 2 2 - - - -w- -w-
3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限
4) 文件权限rw- r-- r-- (644) 这就是文件创建缺省权限

常用的umask值
表1 - 9列出了一些u m a s k值及它们所对应的目录和文件权限。
表1-9 常用的u m a s k值及对应的文件和目录权限
u m a s k值目录文件
022 755 644
027 750 640
002 775 664
006 771 660
007 770 660
如果想知道当前的umask 值,可以使用u m a s k命令:
第1章文件安全与权限11
下载
如果想要改变u m a s k值,只要使用u m a s k命令设置一个新的值即可:
$ umask 002
确认一下系统是否已经接受了新的u m a s k值:
在使用u m a s k命令之前一定要弄清楚到底希望具有什么样的文件/目录创建缺省权限。否
则可能会得到一些非常奇怪的结果;例如,如果将u m a s k值设置为6 0 0,那么所创建的文件/目
录的缺省权限就是0 6 6!

举例子:如何指定一个用户的umask值?

73、xargs
在使用f i n d命令的- e x e c选项处理匹配到的文件时, f i n d命令将所有匹配到的文件一起传递
给e x e c执行。不幸的是,有些系统对能够传递给e x e c的命令长度有限制,这样在f i n d命令运行
几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是
x a rg s命令的用处所在,特别是与f i n d命令一起使用。F i n d命令把匹配到的文件传递给x a rg s命
令,而x a rg s命令每次只获取一部分文件而不是全部,不像- e x e c选项那样。这样它可以先处理
最 先获取的一部分文件,然后是下一批,并如此继续下去。在有些系统中,使用- e x e c选项会 为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次 执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用 x a rg s命令则只有一个进程。另外,在使用x a rg s命令时,究竟是一次获取所有的参数,还是分 批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。
让我们来看看x a rg s命令是如何同f i n d命令一起使用的,并给出一些例子。
下面的例子查找系统中的每一个普通文件,然后使用x a rg s命令来测试它们分别属于哪类
文件:
下面的例子在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到
/tmp/core.log 文件中:
$ find . -name "core" -print | xargs echo "" >;/tmp/core.log
下面的例子在/ a p p s / a u d i t目录下查找所有用户具有读、写和执行权限的文件,并收回相应
的写权限:
$ find /apps/audit -perm -7 -print | xargs chmod o-w
在下面的例子中,我们用g r e p命令在所有的普通文件中搜索d e v i c e这个词:
$ find / -type f -print | xargs grep "device"
在下面的例子中,我们用g r e p命令在当前目录下的所有普通文件中搜索D B O这个词:
$ find . -name \ *-type f -print | xargs grep "DBO"
注意,在上面的例子中, \用来取消f i n d命令中的*在s h e l l中的特殊含义。

74、Top -s 300 -f top.txt
为了防止有时候top不能查看到所有的进程,最好是等5分钟,并且将结果文件保存到文件中,这样再从文件中来查看结果.

posted on 2011-01-23 16:12  星星博客园  阅读(558)  评论(0编辑  收藏  举报

导航

立即注册PayPal并开始接受信用卡付款。