- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux(Unix)系统自动化运维方案
Linux(Unix)系统自动化运维方案
更新时间: 2010年4月16日
LBA起源
由于本人运维着上百台Linux服务器,通常要对这些机器进行同样的配置,譬如添加用户,设置本机IP。以前都是临时写一些脚本实现某一次的系统配置。可是这样每次配置都要重新写/修改脚本,我很烦躁这样的工作,所以我想有没有这么一个工具能够替代人为批量配置了?我找到了cfengine(),这是个非常好的自动化配置工具,但是其配置非常复杂,门槛比较高。但我有幸在腾讯工作过,在那里我可以使用echo写的abs(shell实现的自动化脚本)实现我的需求。目前离开腾讯了,而我的需求没有改变,所以我就决定自己用perl重写abs并命名为LBA(Linux Batch Automation)Linux批量自动化!Lba借鉴了abs的大部分功能,并添加文件校验和并行处理的功能。Lba非常简单,只要你懂基本的shell就可以使用,当然如果要明白lba是怎么干活的,你必须的懂点perl。该项目还处于设计阶段,下面是详细介绍及其功能简介.
关于LBA:
lba(Linux Batch Automation)是一个在Linux系统下实现对远程主机批量自动化操作的perl脚本。主要功能有远程批量执行命令,批量双向传输文件。其原理为依次登陆机器,然后执行相应脚本/系统命令,从而完成系统运维和文件传输等任务。该脚本仅为一个自动登陆主机,自动执行命令,自动传输文件的工具(平台)。那么该脚本能完成什么运维任务了?这完全取决于你的系统命令/脚本!
LBA功能简介:
1.通过sshpass模块实现自动化登陆远程主机
2.配置机器IP列表,登陆端口,登陆密码
3.配置远程主机上需要执行的命令/脚本
4.指定要传输的文件,传输方向(下载/上传)
5.超时配置,定义命令执行超时时间和文件传输超时时间
6.定义要执行运维的黑白主机名单
7.配置文件中支持变量,方便根据的需求对时间,ip等参选进行扩展
8.支持从配置文件读取密码和手工读取密码二种登陆模式
9.支持文件传输时限速和md5校验
10.详细的日志输出
LBA组成部分:
lba.pl 主程序,解析配置,调用其他程序
sshpass 实现自动登录功能,远程执行命令,文件传输模块
lba.conf 主配置文件,配置要执行的命令/脚本,文件传输等
ip.conf 配置要运维的主机,可配置IP,端口,密码,其他要传递的变量参数
aviod.ip IP黑名单
aviod.pwd 密码黑名单
LBA下载:
lba-1.00.tar
LBA用法:
1.安装sshpass
#tar zxvf sshpass-1.04.tar.gz
#./configure
#make
#make install
2.perl模块安装
#perl -MCPAN -e install Getopt::Long
#perl -MCPAN -e install File::Copy
#perl -MCPAN -e install Tie::File
#perl -MCPAN -e install File::Basename
3.编辑ip.conf和lba.conf,实例:
#cat ip.conf
passwd1 22 web1 i386
passwd2 22 web2 i386
#cat lba.conf
com:::mkdir -p /usr/local/#YYYY##MM##DD#
file:::/root/sshpass-1.04.tar.gz #IP#:/usr/local/#YYYY##MM##DD#/ push
4.执行Linux批量自动化部署
#./lba -c lba.conf -i ip.conf
文档评论(0)