AIX如何开机自动重新启动程序
AIX如何开机自动重新启动程序
2009-01-19 10:51
---------------------------------------------------------------- #转载请注明From:http://hi.baidu.com/空气人儿 ---------------------------------------------------------------- 在学习本主题之前,还是先学习一些AIX关于启动的基础知识,如果你只关心如何开机自动重启程序,请跳过第一章、第二章。 ------------------------------------------------------------------- 第三章 开机自动运行程序 --------------------------------------- 开机启动程序的方法有很多,我只谈谈思路,然后给出一些解决方法。 从第一章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. #转载请注明From:http://hi.baidu.com/空气人儿 ################################################## 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. #转载请注明From:http://hi.baidu.com/空气人儿 ################################################## 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部分。 三、自定义启动脚本(与方法一基本相同,自己研究吧) |