`

AIX如何开机自动重新启动程序

 
阅读更多

第一章 AIX开机启动过程介绍
----------------------------
不从最开始说起了,只说从AIX kernel被装载到内存开始。
1、AIX系统存储在BLV的kernel在内存中创建/(root),/usr/和/var文件系统。
要注意,这里所说的文件系统,包括kernel在启动过程中都是存储在RAM(内存)中的。
他们没有权限访问BLV之外的任何内容。
2、文件系统被装载到RAM之后,kernel开始执行init进程,这个时候init进程开始接管系统启动进程。
3、AIX kernel把init进程的PID设为1,这个进程是作为parent,root进程存在的,是AIX系统中运行的其他所有进程的父进程.当init进程被装载并在启动过程运行,init调用rc.boot.
4、rc.boot文件在AIX系统启动过程中有三个重要的作用。
(1)、第一部分是rc.boot初始化了系统的硬件,使其为系统的启动做好准备。通过系统设置命令cfgmgr,一小部分系统启动需要的驱动被配置。
(2)、第二部分是文件系统/,/usr,/var和页面空间被装载。在这些文件系统被装载以后,init被硬盘上的PID为1的init进程所替代,同时RAM被清空。
(3)、第三部分和最后部分,rc.boot,实际的init进程是从硬盘上运行的。
当init被执行后,/etc/inittab文件被堵去,同时里面的每一条都被执行。
在这个过程中,/tmp文件系统正被装载到硬盘上。
现在,系统正在启动的最后过程中,cfgmgr命令再一次运行把剩下的在第一部分没有被rc.boot运行的驱动运行起来。
5、init进程被执行以后,下一步就是init会打开/etc/inittab,并且执行里面的内容。

----------------------------------------------
第二章 AIX启动的相关命令知识
----------------------------------------------
1、确认当前系统的运行级别
      在系统维护或者切换系统运行级别之前,你也许需要检查当前系统的运行级别。
            cat /etc/.init.state
            lsitab init

2、显示系统运行级别的更改纪录
      提示:确保bosext2.acct.obj 代码安装在你的系统上。
            (1) 以root身份登陆系统.
            (2) 执行/usr/lib/acct/fwtmp </var/adm/wtmp |grep run-level
                得到类似的结果:
                    run-level 2 0 1 0062 0123 697081013 Sun Feb 2 19:36:53 CST 1992
                    run-level 2 0 1 0062 0123 697092441 Sun Feb 2 22:47:21 CST 1992
                   run-level 4 0 1 0062 0123 698180044 Sat Feb 15 12:54:04 CST 1992

3、改变系统运行级别基础知识
当系统第一次启动之后,系统按照/etc/inittab文件的内容,进入默认的系统运行级别,直到系统管理员发出改变系统级别的命令。
下面是系统定义的系统运行级别:
0-9 当init命令改变系统运行级别为0-9时,将会杀掉当前系统级别下正在运行的所有进程,并进入新的系统运行级别。
0-1 为未来的操作系统保留
2 默认运行级别
3-9 可以根据用户的需求进行自定义
a,b,c 当init命令接收到运行a,b或者c的时候,init命令不杀死任何当前运行的进程,只是启动新运行级别内定义的新进程。
Q,q init命令将会重新检查/etc/inittab文件
S、s 维护模式
M、m 维护模式

4、改变系统运行级别
(1)、检查/etc/inittab文件,确认你想改变的系统运行级别。
(2)、使用wall命令通知所有用户你将改变
(3)、使用smit telinit快速改变系统运行级别
(4)、使用init n或者telinit n命令改变系统运行级别,其中n为系统运行级别。

5、改变/etc/inittab文件
在有些情况下,你需要增加、改变、列出、删除/etc/inittab文件中的记录。/etc/inittab文件定义了哪些进程在哪个系统运行级别里运行。
当你运行init命令的时候,它将读取/etc/inittab文件。每一条记录定义了一个进程在一个进程的运行。
(1)、/etc/inittab文件参数
Identifier 定义了唯一的标识(1到14个字符)。
Run Level 定义了进程所在的运行级别(1到20个字符)。

Action 定义了init命令将为此条进程执行的操作,包括:respawn,wait,once,boot,bootwait,powerfail,powerwait,off,hold,ondemand,initdefault和sysinit.
respawn 如果进程不存在,Start这个进程,不等待它的结束,继续扫描inittab文件。如果这个进程结束了,restart它。
wait Start这个进程,并且等待它的结束。
once Start这个进程,并且不等待它的结束。如果这个进程结束,不restart它。
boot 仅在系统重启时执行。
bootwait 当服务第一次从单用户变为多用户时执行
powerfail 仅当如果init收到一条power错误时执行命令
powerwait 仅当如果init收到一条power错误时执行命令,同时一直等待进程的结束,然后才继续扫描inittab文件。
off 如果进程正在运行,发出SIGTERM信号,然后在20秒内执行SIGKILL
ondemand 这个参数等同于respawn,但是只在a,b,c级别运行。
initdefault 只有当init初始化执行,才扫描内容。
sysinit 在登陆前,在init得到权限控制之前执行内容。
Command 包含需要执行的shell命令。
(2)、下面的命令可以支持对/etc/inittab文件进行操作。
chitab 改变/etc/inittab文件的记录。
lsitab 列出/etc/inittab文件的记录。
mkitab 往/etc/inittab文件里增加记录。
rmitab 从/etc/inittab文件里删除记录。
(3)、命令举例
增加纪录
往/etc/inittab文件里增加一条记录,执行
mkitab Identifier:Run Level:Action:Command
例如:tty002:2:respawn:/usr/sbin/getty /dev/tty2
改变记录
改变/etc/inittab文件里的一条记录,执行
chitab Identifier:Run Level:Action:Command
例如:将上例的运行级别从2改为2和3,chitab tty002:23:respawn:/usr/sbin/getty /dev/tty2
列出记录
列出/etc/inittab文件中的所有记录
lsitab -a
列出某个指定的记录
lsitab Identifier
例如:lsitab tty2
删除记录
rmitab Identifier
例如:rmitab tty2

6、执行运行级别脚本
运行级别脚本允许用户在更改运行级别时启动和停止所选择的应用程序。以 K 开头的脚本是停止脚本,以 S 开头的脚本是启动脚本。
这些脚本保存于它们所从属的运行级别的特定子目录中,每个子目录的格式为 rcn.d,其中 n 表示运行级别:
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/rc7.d
/etc/rc.d/rc8.d
/etc/rc.d/rc9.d

---------------------------------------
第三章 开机自动运行程序
---------------------------------------
       开机启动程序的方法有很多,我只谈谈思路,然后给出一些解决方法。
       从第一章AIX系统启动过程,我们知道AIX系统在启动过程中,会扫描inittab文件的内容,并执行它。
              1、那么,我们可以通过直接修改inittab文件,使系统在开机重启时运行我们的命令。
              2、也可以通过inittab文件里指向的脚本(rc.local、rc.d组,后面会详细介绍)。
                    间接使系统在开机重启时运行我们的命令。
              3、其他方法:如使用crontab的定时任务功能,间接启动脚本,
                   这种方法不是开机后马上运行,要看crontab里设置的时间间隔的长短而定。
       
一、通过rc.local启动(最简单的方法
      rc.local是inittab里的一个脚本指向,通过运行lsitab -a|grep rc.local ,我们可以得到rc.local:2:once:/etc/rc.local > /dev/console 2>&1 

      1、 mkitab -i rcnfs "rc.local:2:once:/etc/rc.local > /dev/console 2>&1"   #如果inittab文件里没有关于rc.local的信息,可以通过此命令创建脚本。
            注意系统运行级别要与你想要运行的系统运行级别一致,这里系统运行级别是2。
      2、touch /etc/rc.local #新建rc.local文件
      3、chmod 700 /etc/rc.local #设置执行权限
      4、把执行脚本放到/etc/rc.local里之后,AIX系统在重新启动时,就会运行/etc/rc.local里的脚本了。

二、通过/etc/rc.d脚本启动(需要编写start\stop脚本
      /etc/rc.d是inittab里的一组脚本指向,通过运行lsitab -a|grep rc.d,我们得到
           l2:2:wait:/etc/rc.d/rc 2 
           l3:3:wait:/etc/rc.d/rc 3 
           l4:4:wait:/etc/rc.d/rc 4 
           l5:5:wait:/etc/rc.d/rc 5 
           l6:6:wait:/etc/rc.d/rc 6 
           l7:7:wait:/etc/rc.d/rc 7 
           l8:8:wait:/etc/rc.d/rc 8 
           l9:9:wait:/etc/rc.d/rc 9 
      1、cd /etc/rc.d/       #进入/etc/rc.d目录
      2、cd /samples       #进入/etc/rc.d/samples 目录,可以得到K70lpd、README.txt、S70lpd三个文件。
           这里只是简单的模仿K70lpd和S70lpd,更高级的方法,留给大家自己研究了。
           下面,我们分别创建自己的启动和结束脚本。
                 例如:
# more K69oa
#!/bin/ksh
##################################################
# name: K69oa
# purpose: sample script that start or stop oa.
##################################################

case "$1" in
start )
        WebSphere/AppServer/bin/startServer.sh server1
        IBMHttpServer/bin/apachectl start
        ;;
stop )
        WebSphere/AppServer/bin/stopServer.sh server1
        IBMHttpServer/bin/apachectl stop
        ;;
* )
        echo "Usage: $0 (start | stop)"
        exit 1
esac


# more S69oa
#!/bin/ksh
##################################################
# name: S69oa
# purpose: sample script that start or stop oa.
##################################################

case "$1" in
start )
        WebSphere/AppServer/bin/startServer.sh server1
        IBMHttpServer/bin/apachectl start
        ;;
stop )
        WebSphere/AppServer/bin/stopServer.sh server1
        IBMHttpServer/bin/apachectl stop
        ;;
* )
        echo "Usage: $0 (start | stop)"
        exit 1
esac
      
       3、chmod 700 这两个脚本
       4、把这两个脚本放到/etc/rc.d/rc2 下。
       5、使用shutdown -rF重新启动机器时,会自动运行放在/etc/rc.d/rc2下的S69oa脚本中的stop部分;
            系统重启之后,系统会自动运行放在/etc/rc.d/rc2下的S69oa脚本中的start部分。

分享到:
评论

相关推荐

    AIX 6.1 bash包及安装

    在IT领域,操作系统是计算机硬件与软件之间的重要桥梁,而AIX(Advanced Interactive eXecutive)是由IBM开发的一种强大的Unix变体,尤其在企业级服务器环境中广泛应用。本主题聚焦于"AIX 6.1"版本中的"Bash"包及其...

    AIX dump分析工具

    7. **验证修复**:完成修改后,重新启动应用服务器并监控其行为,确认问题已得到解决。 总之,AIX dump分析工具是诊断和解决Java应用服务器在AIX环境下运行问题的重要工具。通过深入理解和熟练使用这种工具,你可以...

    Aix中启动、关闭weblogic脚本

    在AIX环境下,我们通常需要编写shell脚本来实现WebLogic的自动化启动和关闭,以便在需要时快速响应。`opencloseWebLogic.sh`这个脚本就是为此目的而创建的。 编写这样的脚本,需要熟悉以下几点: 1. **环境变量...

    aix 字符集安装

    在IBM AIX操作系统环境下,安装`Zh_CN`(中文简体)字符集是确保系统能够正确显示和处理中文字符的关键步骤。AIX是一款强大的UNIX变种系统,...这对于在AIX上运行的中文应用程序和数据至关重要,确保了信息的准确无误。

    AIX 5.3安装文档

    10. 安装完成后,系统会自动重启,然后进入初始设置阶段。 11. 最后,设置系统时间和日期,创建用户账户并设置密码。 此外,文档还提到了关于**GCC环境配置**和**XLC/C++编译器的安装**,这些是开发环境中非常重要...

    AIX系统管理基础(pdf)

    1. **开机过程**:大多数IBM P系列服务器在接通电源后会自动进行自检,之后在LCD屏幕上显示“OK”,此时按下电源按钮即可启动服务器。 2. **系统状态检查命令**:启动完成后,可以通过一系列命令来检查系统状态,...

    aix 6.0 系统维护资料

    4. **易于管理**:AIX 6.0 通过自动化工具和简化管理接口提供了更好的可管理性,降低了管理成本,使 IT 人员能够更高效地管理日益复杂的 IT 环境。 #### 四、AIX 6.0 的硬件支持 AIX 6.0 支持基于 POWER4™、PPC...

    aix6.1的安装

    安装完成后,系统会自动重新启动,并引导你完成首次登录和基本系统设置。记得记录下初始root用户的密码,因为这将在后续的系统管理中非常重要。 总的来说,AIX 6.1的安装是一个细致且需要专业知识的过程,涉及硬件...

    AIX系统维护大全

    5. **启动和关闭软件**:AIX支持服务的自动启动和停止,通过管理系统初始化脚本或使用`smitty`等工具可以配置这些设置。 6. **检查补丁程序**:通过特定命令可以查询已安装的补丁,确保系统保持最新状态。 7. **...

    AIX升级步骤

    - 开始执行恢复操作,系统会自动重启并恢复到备份时的状态。 #### 五、总结 本文详细介绍了AIX系统版本升级的具体步骤,包括了升级前的准备工作、具体的升级操作以及异常情况下的恢复措施。这些步骤对于确保AIX...

    AIX操作系统安装步骤

    光盘启动后,安装程序会自动运行,显示欢迎屏幕并引导你进行安装向导。向导会要求你选择安装类型,通常有“新安装”和“升级”两个选项。对于首次安装,选择“新安装”。然后,你将被引导设置安装目标,可以选择硬盘...

    aix7.1的python安装.rar

    在IBM AIX 7.1操作系统中安装Python是一项关键任务,因为Python是广泛使用的编程语言,对于系统管理和自动化尤其重要。本指南将详细介绍如何在AIX 7.1上安装Python,以帮助管理员和开发人员在该平台上构建和运行...

    AIX 5300-08 LIBM安装包

    在AIX系统中,"LIBM"代表的是数学库,它包含了各种数学函数,供应用程序调用,执行复杂的计算任务。AIX 5300-08 LIBM安装包是一个专门用于更新或安装AIX 5.3版本中数学库的软件包。 AIX 5.3是AIX的一个重要版本,...

    aix系统的安装方法

    2. 重启服务器,并在启动时按照屏幕提示选择从安装介质启动。 #### 步骤二:选择安装类型 进入安装程序后,用户需要选择合适的安装类型,常见的选项包括: - **标准安装**:适合大多数用户,会自动安装一套基本的...

    AIX---AIX 5L系统的安装

    **AIX 5L系统的安装** AIX,全称Advanced Interactive eXecutive,是IBM公司为Power架构服务器开发的一种UNIX操作系统。AIX 5L(5th Generation Limited)是AIX系列的一个重要版本,提供了丰富的功能和强大的系统...

    在IBM小型机上怎样安装AIX 5.1

    1. 启动环境:将安装介质插入IBM小型机,然后重新启动。如果系统无法自动从介质启动,可能需要进入BIOS设置并调整启动顺序,使系统首先从光驱或USB设备启动。 2. 检查硬件:安装程序会自动检测硬件,确认兼容性和...

    AIX 系统管理认证指南

    - **AIX Version 3与AIX 5L的二进制差异**: 这些差异可能会导致某些旧版应用程序无法直接运行在新版系统上。 - **系统可用性**: - **硬件组件的可用性**: 需要考虑冗余设计以提高系统的可靠性。 - **动态重新配置...

    aix 系统下升级微码

    一旦更新完成,系统会自动关机并再次启动。 6. **验证微码版本**: 通过 `lsmcode` 命令可以查看当前的微码版本,确认临时微码(Transient Image)和永久微码(Permanent Image)的状态。在更新后,系统可能会先以...

    AIX系统操作员手册

    当遇到“devicebusy”错误时,通常需要先卸载或停止使用该设备的任何应用程序,再尝试重新挂载或执行其他操作。 #### AIX5L介绍 AIX5L是IBM的UNIX操作系统AIX的一个重要版本,它引入了64位计算支持,增强了系统的...

    aix7.1.安装和迁移

    ### AIX 7.1 安装与迁移详解 #### 引言 AIX(Advanced Interactive eXecutive)是IBM公司开发的一款基于UNIX的操作系统,广泛应用于高性能服务器环境中。AIX 7.1作为其一重要版本,提供了增强的安全性、可管理性和...

Global site tag (gtag.js) - Google Analytics