
应用研究
Shell脚本语言在AIX服务器中的应用
王珏
(中航工业航空动力机械研究所湖南株洲412002)
数事投与或用
摘要:在AIX系统日常运维和PDM等应用系统的业务管理中,经常会涉及到后台的计列任务管理、服务器自启动维护、业务处理、批量脚本处理等大量繁杂的工作,通过人工处理往往要消耗大量的人力成本。本文试通过AIX系统中的Shell脚本常用方法和实际运用的例于简要说明Shll脚本语言与AIX系统结合的操作技巧和能达到的效果,从而使业务系统的管理人员从繁重的日常维护工作中解脱出来。
关键调:AIX操作系统sambaSWTA远程映射客户端访间
中图分类号:TO028 1Shell脚本
1.1Shell简介
文献标识码:A
AIX操作系统和其它的类UNIX操作系统一样,都需要通过某种方式与内核进行通信,服务器管理员能通过使用Shell来实现,管理员可以使用各种不同的Shell.比如KornShell和bashShell 等,各种Shell各有优劣,由于KornShell是AIX系统所使用的缺省Shell,所以本文所涉及的例子都基于KormShell来实现。
1.2VI编辨器
在AIX系统中编写Shell脚本,大多会使用到一种文本编辑器,虽然现在的主流AIX操作系统,如AIX6.1提供了类似windows操作系统记事本的常规编辑器,并支持类似windows系统的快捷键。但实际操作过程中,如不是使用类似Xmanager这样的远程虚拟软件,大多时闻管理员可能会直接使用telnet字符命令对配置文件和Shell 脚本进行修改和编辑,而VI编辑器的强大之处在于字符界面也能提供比传统文本编辑器更为强大的功能。因为这种编辑器的强大,在类unix系统环境中,vi编辑器是一种使用最广泛的文本编辑器,关于如何使用vi.网上有大量相关技术文挡可以进行查阅,本文不再过多阐述。
1.3简单Shell语句示例
图1显示了几个系统最简单的Shell命令#date//显示当前系统时间
#hostname//显示当前主机名称#time/显示某一条语句执行的时闻 1.4脚本
Shell命令最强大的一项功能是可以将多个命令组合在一个脚本文件中(后缓名sh,类似windows系统中的cmd或bat脚本,但功能更为强大)。当我们需要在某一时间重复运行相同命令的时候,使用脚本将使得我们的工作事半功倍。同时脚本支持变量输入,在输人参数不同的时候通过输人可以更加简化我们的操作。在本文中不会涉及到太多有关于Shell的语法,该部分内容可以查询相关学习资料。
2Shell脚本在业务中的运用
2.1启动Oracle数据库
Oracle数据库是大多AIX系统管理员要处理的系统,开启数据库的操作步骤虽然并不是十分繁项,但通过脚本一次性启动视乎是更简便的方法。以下是一个启动数据库的简单例子,
echo "begin to start oracle" export ORACLE_SID = scott Isnrctl start
<
sqlplus /nolog
connect / as sysdba startup
收稿日期:2015-0515
文章编号:1007-9416(2015)05-0058-02
exit exit
echo "oracle started"
将以上文字用VI编辑器保存为一个文件startdb.sh文件,设置好文件的运行权限直接在系统中执行就能启动制定的scott数据库
2.2关闭数据库并备份
关闭数据库的脚本示例如下dbstop.sh(假设数据库SDI为
scott):
export ORACLE_SID = scott lsnrctl stop
sqlplus /nolog <
conn / as sysdba shutdown immediate
以当前年月日为名称备份数据库至/DBBAK下并用compress 命令进行压缩(dirinit为之前在数据库中定义的路径)dbbak.sh:
expdate=°date +%Y%m%d*
su oracle c expdp username/password@scott directory=dirinit content=all dumpfile=s(expdatel , dmp
cd /DBBAK
compress_./*.dmp 2.3数据清理
数据备份后需要及时清理(假设保留最新的3次备份,将多余备份进行删除)oradel.sh
cd/DBBAK
num='ls t *,dmp.Zl wc 1' echo $num2
if [ $num2 gt 3 ] then
echo "dmp are more then 3 , Del the old!"
Telnet ps12
公元2015年5月24日
etna
512
ane.ens Bne.eBs
星期四
回x
17时66分18利
图1简单的Shell命令
作者篇介:王珏(1983一),男,湖南林洲人,本科,学士,工程师,研究方向:软件开发与实施。 58