服务器 频道

IRIX自动系统管理- 自动工具

    【IT168 服务器学院
l cron子系统
l NFS自动挂接
内部工具:
l 磁盘quotas(配额)
l 进程计帐
l sar
l 出错报告
关键点
l 系统备份
l 资源管理 

    1) cron子系统
cron子系统工具:at,  batch,  cron
它们是如何工作的:
l /sbin/cron deamon由/etc/rc2.d/S75cron启动;
l /sbin/cron检查/var/spool/cron/[atjobs,cronjobs]目录来决定哪个任务何时运行
l /sbin/cron deamon在后台休眠,每分钟醒来一次查看是否需要执行某些任务
l /sbin/cron执行完任务后,重归休眠

    2) 任务注入cron子系统
cron的任务序列在/var/spool/cron中;
每个用户帐号允许至少一个cron文件;
# ls  -ld  /var/spool/cron  /var/spool/cron/*
用crontab程序提交cron jobs
# ls  -l  /usr/bin/crontab
# /usr/bin/crontab crontabs_file 

    3) 查看crontab文件
命令:
# cat  /var/spool/cron/crontabs/root

    4) cron subsystem authorizations
/usr/lib/cron/cron.deny
/usr/lib/cron/cron.allow 不能都用,也不能都不用,只能用一个;
用法:
who has access cron.deny cron.allow
only superuser no file no file
selected deny user_names no file
selected allow no file user_names
all users empty file no file 

    5) 使用cron
crontab指令:
l 用cron.file来创建crontab文件
crontab  cron.file
l 删除用户crontab文件
crontab  -r
l 列出用户crontab文件的内容
crontab  -l
l 保存用户crontab到一个文件
crontab  -l  >  crontabfile
cron用Bourne Shell来执行命令

cron的一些典型使用:
l 自动备份到磁带机或另一系统中;
l 通过删除下列文件来清除硬盘:
1. core and dead.letter文件
2. 应用自动备份文件
3. 在/var/tmp or /tmp中的暂时文件
4. 长期没有访问的文件
l 向用户提示

    6) at命令
在指定时刻开始运行命令。
格式:% at time [date] [+increment] < command.script
例子:% at 2:00pm Friday < cmd.script

    7) batch命令
batch命令提供了一种非常灵活的机制,让系统在空闲的时间执行一些非常耗时的程序。
例子:
% batch
bigjob > bigjob.log 

    8) 用户挂接NFS文件系统---automount
只有root才能mount & umount NFS文件系统;
在网络环境中,你的用户可能要从另外系统中挂接文件系统;
NFS的automount能保证他们完成上述工作:
Toolchest & Desktop & Shared Resources & On a Remote Workstation
注:两台工作站必须在同一个网络中,都安装了NFS,而且只有共享目录才能实现自动挂接。

     9) 设置automount
检查automount.options文件:
%cat /var/config/automount.options 
用chkconfig激活NFS及automount:
# chkconfig nfs on
# chkconfig automount  on
启动网络:
/etc/init.d/network stop
/etc/init.d/network start

     10) 保护磁盘资源---quotas(配额)子系统
系统管理员能够对他/她的所有文件系统进行保护;
系统管理员能够对他/她的所有或部分用户限定资源:磁盘空间、文件或目录数目;

设置Quotas:
在任何一个文件系统的顶层目录中创建(用touch)一个空文件称为“quotas”;
可写权限只能赋予root;
该文件系统将包含quota信息;
使用“edquota”(quota编辑器)为所有具有资源定额的用户置入信息;

使用edquota:
为用户编辑配额:
#edquota  tonia
用-p <user name>把一个现存用户的定额加入一大用户组中去:
#edquota  -p  tonia  samanha  bill
缺省时,edquota引导起vi,允许你编辑硬盘及软限定;
用-t(time)开关设置时间限定(缺省为7天)

初始化Quota系统
在输入所有quota信息后,用quotaon命令为指定的文件系统使能quotas(用-v开关列出其状态)
#quotaon -v /usr
对quotaon使用-a (all)开关将为在/etc/fstab中具有quota选项的文件系统打开quotas:
#cat /etc/fatab
设置chkconfig的标志为on,则在系统引导时将自动进行quota初始化;
用quotaoff来关闭quota检查;

    11) 使用quotas(配额)技巧
不要对“/”文件系统进行配额初始化;
用户能使用quota来查看他/她的配额状况;
系统管理员可使用quota或repquota来得到特定用户的配额信息;
例子:获得在指定文件系统中的所有用户的信息
#repquota /usr 

     12) 进程计帐
由UNIX系统内核来完成;
一个进程终止后,有关该进程的记录被写入文件(/var/adm/pacct)
命令acctcom用来检查当前进程数据;

使用进程计帐:
Enabling the accounting system:
l acct标志置为on,则系统引导时,计帐自动开始;
#  /etc/chkconfig acct on
l 启动计帐
#  /etc/init.d/acct start
#  /etc/chkconfig acct on
阅读计帐报告
l 看上一天的报告:  # /usr/lib/acct/prdaily
l 看某一天在/usr/adm/acct/sum中的ASCII格式报告;例:
查看Nov7日的报告:
# more /usr/adm/acct/sum/rprt1107或
# /usr/lib/acct/prdaily 1107
l 查看某月报告(在/usr/adm/acct/fiscal中):
# more  /usr/adm/acct/fiscal/fiscrpt11 

      13) sar---系统行为报告
sar允许系统管理员全面监控系统在一段时间内的运行性能;
信息存于/var/adm/sa目录中;
建议经常查看此信息;
#sar –u <间隔时间> <次数>
系统错误登录信息存在/var/adm/SYSLOG目录中;
系统出错时的现场信息记录于:/var/adm/crash
一个理想的系统应能自己管理自己:如
filesystem cleanup triggered by filesystem full
filesystem reorganization triggered by filesystem slow 
  
      硬盘交换区管理
    当系统的物理内存不是足够大时,IRIX操作系统使用硬盘的一部分作为交换空间,以暂存用户程序的一部分或全部。
    IRIX对交换区的管理非常灵活,既可以在硬盘分区时设置一个swap分区,也可以随时在某一个硬盘分区中增加交换区的容量;此外,IRIX还支持虚拟交换区,在某些情况下可以骗过操作系统。 
     1) 在用fx命令对硬盘进行分区时,指定交换区大小
标准分区号.名字及功能见下表:

分区号 名字              功能
0     root root分区   用于系统硬盘上的root文件系统
1     swap               交换区
6     usr usr分区      在系统硬盘上把root和usr文件系统分开时使用
7     (none) 除了volhdr和xfslog外的整个硬盘
8     volhdr Volume header
9     (none) 保留分区
10    volume 整个硬盘
15   xfslog 一个非常小的分区,用于XFS的记录

     如果您需要对系统硬盘重新分区,那么必须启动miniroot再运行fx命令;如果您是对系统中增加的硬盘进行分区,则只需登录为root用户,键入fx命令。假设您增加的硬盘设备号为3,挂接在SCSI控制器1上:
#fx
fx version 6.5, Apr 30 1998
fx: ”device-name” = (dksc) ;直接回车即可,dksc表示SCSI硬盘驱动器
fx: ctlr# = (0) 1 ;键入1后回车,表示选择控制器1
fx: drive# = (1) 3 ;键入3后回车,表示选择3号硬盘
fx: lun# = (0) ;直接回车即可,等待一会儿屏幕出现顶层菜单:

---- please choose one (? For help, .. to quit this meun)----
[exi]t [d]ebug/ [l]abel/
[b]adblock/ [exe]rcise / [r]epartition/
fx> r ;键入r选择重新分区,屏幕上出现分区菜单:
---- partitions ----
part type blocks Megabytes  (base+size)
0: xfs  266240 + 3927818 130 + 1918
1: raw 4096 + 262144 2 + 128
8: volhdr 0 + 4096 0 + 2
10 volume 0 + 4194058 0 + 2048
capacity is 4194058 blocks

---- please choose one (? For help, .. to quit this menu)----
[ro]otdrive [u]srrootdrive [o]ptiondrive [re]size
fx/repartition>  re ;下一步的操作将破坏硬盘上原有的数据!

l rootdrive —— 把硬盘分为只有root分区的系统硬盘;
l usrrootdrive —— 把硬盘分为带有root和usr两个分区的系统硬盘;
l optiondrive —— 把硬盘分为只有7号分区的数据硬盘;
l resize —— 调整各分区大小,您可以根据需要增加或减少swap分区的大小。(必须先对硬盘进行分区后,才能调整分区大小)

fx/repartition/resize: partition to change = (swap) ;直接回车
current: type raw block 4096, 2MB
len: 262144blks,  128MB
fx/repartition/resize: partitioning method =(megabytes(2^20bytes))?
;键入问号后回车
[m]egabytes(2^20bytes) [p]ercentage [b]locks

l megabyte —— 以“兆字节”为单位指定交换区大小;
l percentage —— 交换区占整个硬盘的百分比;
l blocks —— 以“块”为单位指定交换区大小。

fx/repartition/resize: partitioning method =(megabytes(2^20bytes))m
;选择以MB为单位
fx/repartition/resize: size in megabytes (max 2048) = (128) 256
;设置交换区大小为256MB

 

---- partitions ----
part type blocks Megabytes  (base+size)
0: xfs  524288 + 3927818 258 + 1790
1: raw 4096 + 524288 2 + 256
8: volhdr 0 + 4096 0 + 2
10 Volume 0 +4194058 0 + 2048
capacity is 4194058 blocks

---- please choose one (? For help, .. to quit this menu)----
[ro]otdrive [u]srrootdrive [o]ptiondrive [re]size
fx/repartition> 

可以看出,交换区已如愿以偿地改变成256MB,键入..退回到上一层菜单。

---- please choose one (? For help, .. to quit this meun)----
[exi]t [d]ebug/ [l]abel/
[b]adblock/ [exe]rcise / [r]epartition/
fx>

键入exi退出fx命令。

    2) 利用swap命令直接增加交换区空间
swap命令允许您指定任何一个硬盘分区的一部分作为额外的交换区空间。步骤如下:

# swap –l ;查看当前交换区状况
lswap path dev pri  swaplo blocks   free   maxswap  vswap
1 /dev/swap
0,102 0 0 262144  262144 262144 0
# mkfile –v 10m /var/tmp/moreswap ;建立一个10M字节的空文件
/var/tmp/moreswap 10485760 bytes
# swap –a /var/tmp/moreswap ;增加交换区
# swap –l ;查看当前交换区状况
lswap path dev pri  swaplo blocks   free   maxswap  vswap
2 /var/tmp/moreswap
0,98 2 0 20480  20480 20480 0
1 /dev/swap
0,102 0 0 262144  262144 262144 0
我们可以看出,交换区已经添加进去了。为了使新的交换区文件在每次boot时自动加进去,需要在/etc/fstab文件中增加下面一行:

/var/tmp/moreswap swap swap pri=3 0 0

    3) 增加虚拟交换区空间
除非万不得已,请不要使用虚拟交换区!
如果一个进程的堆栈被禁止增长;或者由于交换区空间不足,导致一个新进程被拒绝,而您又确信有足够的物理空间,那么您可以在/etc/fstab文件增加如下一行:

/usr/swap swap swap pri=4,vlength=307200 0 0

然后运行下列命令:
# mkfile –v 0b /usr/swap
# chkconfig vswap on
# /etc/init.d/swap stop
# /etc/init.d/swap start
# swap –l
lswap path dev pri  swaplo blocks   free   maxswap  vswap
3 /usr/swap
0,98 4 0 0 0 0    307200
2 /var/tmp/moreswap
0,98 2 0 20480  20480 20480 0
4 /.swap.virtual
0,98 2 0 0 0 0     8000
1 /dev/swap
0,102 0 0 262144  262144 262144 0
可以看出,除了您刚才增加的一个虚拟交换区/usr/swap外,系统缺省的一个虚拟交换区/.swap.virtual也启动了。

    4) 删除交换区
虚拟交换区以及用swap命令增加的交换区同样也可以用swap删除。
# swap –l ;查看当前交换区状况
lswap path dev pri  swaplo blocks   free   maxswap  vswap
2 /var/tmp/moreswap
0,98 2 0 20480  20480 20480 0
1 /dev/swap
0,102 0 0 262144  262144 262144 0
# swap –d /var/tmp/moreswap
# swap –l ;查看当前交换区状况
lswap path dev pri  swaplo blocks   free   maxswap  vswap
1 /dev/swap
0,102 0 0 262144  262144 262144 0
可以看出,交换区/var/tmp/moreswap已经被删除了。

0
相关文章