Linux(Unix)系统自动化运维方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

1.1.1.1 passwd1 22 web1 i386

2.2.2.2 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

相关文档
最新文档