免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3607 | 回复: 2
打印 上一主题 下一主题

[存储备份] IBM Tivoli FrameWork在AIX系统日常管理中的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-09 15:10 |只看该作者 |倒序浏览
IBM Tivoli FrameWork在AIX系统日常管理中的使用

AIX系统由于缺少集中的管理工具在日常的系统管理和维护中非常的不方便,如:需要在所有的主机上创建或删除一个AIX帐号,需要登陆到每一台主机进行帐号的创建或删除,或者是对主机上的一些关键信息或配置进行审计或检查,也需要登陆到每一台主机进行手工检查,导致日常维护工作的效率非常低,本文主要是阐述利用IBM Tivoli FrameWork在AIX主机群中搭建一个客户端/服务器的模式来对AIX主机群进行集中管理和维护。
Tivoli Management Framework 的安装和配置请参考IBM网站上的相关内容http://publib.boulder.ibm.com/tividd/td/framework/GC32-0804-01/en_US/PDF/instguid.pdf
客户端安装完成后会启动一个lcfd的进程,并需要同服务器端的9494和9495端口进行通讯
Tivoli FrameWork可以在服务器端定制task,并利用客户端lcfd进程同服务器间的通讯将task发送到客户端执行。其优点主要体现在:
1.        Task或脚本不会在客户端出现,因此对于task或脚本的维护仅需要维护服务器上的一个版本就可以。
2.        task的执行不需要root权限,对于一些日常工作且必须使用root去完成的,也能通过task的方式来实现,避免了root的频繁使用而容易导致出现误操作。
3.        快速高效,对于一些日常工作且需要频繁在多台主机上实施的任务可以使用task方式一次完成,既提高了工作效率也避免了操作失误。

样例:
本脚本实现三个工作:
1.        在所有主机上创建一个用户;
2.        在所有主机上删除一个用户,并可删除该用户的home目录;
3.        从所有主机上获取/etc/passwd、/etc/security/passwd、/etc/security/user、/etc/security/lastlog并使用脚本对所有主机上的所有用户的上次修改密码时间进行计算。
aix_manager.sh为主程序
./shell中的为辅助程序
aix_manager.sh:

###
### The shell Script is used for AIX System Management
### The shell Script should use with Tivoli FrameWork
###
### Author:BanHao
### VER:V1.0
###
#!/usr/bin/ksh
###
### user_manager
###
user_manager()
{
clear
while true
do
echo "********************************************************"  
echo "*                                                      *"
echo "*                                                      *"
echo "*                  1)|ADD USER                         *"
echo "*                                                      *"
echo "*                  2)|DEL USER                         *"
echo "*                                                      *"
echo "*                  q)|quit                             *"
echo "*                                                      *"
echo "********************************************************"
echo "          Please enter your choice: \c";read X1
case $X1 in
1)
echo "Please Enter the User Name: \c";read USERNAME
echo "Please Enter the User ID: \c";read USERID
echo "Please Enter the Primary GROUP: \c";read PGROUP
echo "Please Enter the Group SET: \c";read GROUPS
echo "Please Enter the HOME Directory: \c";read HOMEDIRECTORY
echo "Please Enter the shell: \c";read SH
echo "mkuser id='$USERID' pgrp='$PGROUP' groups='$GROUPS' home='$HOMEDIRECTORY' shell='$SH' $USERNAME" |sed "s/[^ ]*=''//g" > ./shell/add_user.sh
echo "echo "$USERNAME:passw0rd"|chpasswd" >> ./shell/add_user.sh
wcrttask -t add_user -l Aix_System_TL -i aix4-r1 SERVERNAME /DIRECTORY/aix_manager/shell/add_user.sh -r admin
host_manager
cat host|while read line
do
wruntask -t add_user -l "Aix_System_TL" -h $line
done
rm ./shell/add_user.sh
wdeltask add_user "Aix_System_TL"
;;
2)
echo "Please Enter the User Name: \c";read USERNAME
echo "rmuser $USERNAME" > ./shell/del_user.sh
wcrttask -t del_user -l Aix_System_TL -i aix4-r1 SERVERNAME /DIRECTORY/aix_manager/shell/del_user.sh -r admin
host_manager
cat host|while read line
do
wruntask -t del_user -l "Aix_System_TL" -h $line
done
echo "Do your want to Clear the user's Home Directory?[Y/N] \c";read YN
if [ "$YN" = y -o "$YN" = Y ]
then
  host_manager
  cat host|while read line
  do
   wruntask -t clear_home_dir -l "Aix_System_TL" -h $line
  done
fi
rm ./shell/del_user.sh
wdeltask del_user "Aix_System_TL"
;;
q)
clear
echo "********************************************************"
echo "*                                                      *"
echo "*                     Thank You!                       *"
echo "*                                                      *"
echo "********************************************************"
break;;
*)
clear
echo "********************************************************"
echo "            Sorry, $X1 is not the right choice!         "
echo "                                                        "
echo "                Please enter the right Choice           "
echo "********************************************************"
echo
continue;;
esac
done
}

###
### user_audit
###
user_audit()
{
host_manager
cat host|while read line
do
wruntask -t get_lastlog -l "Aix_System_TL" -h $line
done
mv /tmp/*.lastlog ./data
mv /tmp/*.user ./data
mv /tmp/*.securitypasswd ./data
mv /tmp/*.passwd ./data
cd data
ls -la *.passwd|awk '{print $9}' > passwdfile.tmp
cat passwdfile.tmp|while read line
do
HOSTNAME=`echo $line|awk -F. '{print $1}'`
#echo $HOSTNAME
#echo $HOSTNAME.passwd.tmp
#echo $HOSTNAME.lastlog
#echo $HOSTNAME.lastupdate.log
awk -F: '{print $1}' $line > $HOSTNAME.passwd.tmp
cat $HOSTNAME.passwd.tmp|while read USER
do
  echo $USER >> $HOSTNAME.lastupdate.log
  ../shell/lastupdate.sh $USER $HOSTNAME.securitypasswd >> $HOSTNAME.lastupdate.log
  echo "********************************************************" >> $HOSTNAME.lastupdate.log
done
done
#rm *.lastlog
#rm *.passwd
#rm *.tmp
}
###
### host_manager
###
host_manager()
{
while true
do
cat host
echo "Do you want to running in ALL these Hosts?[Y/N] \c";read YN
if [ "$YN" = y -o "$YN" = Y ]
then
  break  
else
   echo "Do you want to add Host?[Y/N] \c";read YN
   if [ "$YN" = y -o "$YN" = Y ]
  then
    echo " Please Enter the Host Name: \c";read HOSTNAME
    if [ $HOSTNAME ]
    then
     clear
     echo $HOSTNAME >> host
     cat host > host.tmp
     cat host.tmp | sort -nk1 |tee host
    else
     echo "The Host Name can not be Blank!"
    fi
    rm -rf host.tmp
  else
   echo "Do you want to del Host?[Y/N] \c";read YN
   if [ "$YN" = y -o "$YN" = Y ]
   then
    echo "Please Enter the Host Name: \c";read HOSTNAME
    if [ $HOSTNAME ]
    then
     clear
     sed '/'"$HOSTNAME"'/d' host > host.tmp
     cat host.tmp | sort -nk1 |tee host
    else
     echo "The Host Name can not be Blank!"
    fi
    rm -rf host.tmp
   fi
  fi
fi
clear
echo "These Hosts will running the task!"
cat host
echo "*************The End****************"
done
}
###############################################################
###
### MAIN PROGRAM
###
clear
while true
do
echo "********************************************************"  
echo "*                                                      *"
echo "*                                                      *"
echo "*                  1)|USER MANAGER                     *"
echo "*                                                      *"
echo "*                  2)|USER AUDIT                       *"
echo "*                                                      *"
echo "*                  q)|quit                             *"
echo "*                                                      *"
echo "********************************************************"
echo "          Please enter your choice: \c";read X1
case $X1 in
1)user_manager;;
2)user_audit;;
q)
clear
echo "********************************************************"
echo "*                                                      *"
echo "*                     Thank You!                       *"
echo "*                                                      *"
echo "********************************************************"
break;;
*)
clear
echo "********************************************************"
echo "            Sorry, $X1 is not the right choice!         "
echo "                                                        "
echo "                Please enter the right Choice           "
echo "********************************************************"
echo
continue;;
esac
done


参考书目:
Tivoli Management Framework Reference Manual
http://publib.boulder.ibm.com/tividd/td/framework/SC32-0806-01/en_US/PDF/ref.pdf

Tivoli Management Framework Planning for Deployment Guide
http://publib.boulder.ibm.com/tividd/td/framework/GC32-0803-00/en_US/PDF/TMF_Planning_Guide.pdf

Tivoli Enterprise Installation Guide
http://publib.boulder.ibm.com/tividd/td/framework/GC32-0804-01/en_US/PDF/instguid.pdf

Tivoli Management Framework User’s Guide
http://publib.boulder.ibm.com/tividd/td/framework/GC32-0805-01/en_US/PDF/user.pdf

Tivoli Management Framework Maintenance and Troubleshooting Guide
http://publib.boulder.ibm.com/infocenter/tiv3help/topic/com.ibm.tivoli.frmwrk.doc/trouble.pdf

aix_manager.rar

2.55 KB, 下载次数: 66

论坛徽章:
0
2 [报告]
发表于 2007-08-11 11:59 |只看该作者
好贴。

论坛徽章:
0
3 [报告]
发表于 2007-08-11 17:40 |只看该作者
脚本不错
辛苦了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP