HELL编程-shell编程实战

发布时间:2021-08-02 23:29 来源:https://blog.51cto.com/guxing/ 阅读:195 作者:xiaobai19887 栏目: 云计算 欢迎投稿:712375056

crontab -e

./4.expect

vim exe.expect

vim 2.expect

vim 3.expect


centos6 ,不区分32位,64位, 要求机器可以上外网。 支持lamp 和 lnmp, mysql支持5.1和5.6两个版本,php支持5.3和5.6两个版本,apache2.2,nginx1.8.

           [main.sh] [ mon.conf] [load.sh 502.sh]  [mail.php mail.sh] [  mon.log  err.log ]

命令批量执行脚本

vi ../mail/mail.php

?mod=viewthread&tid=8113&highlight=shell

vi /etc/nagios/nrpe.cfg

chmod a+x 4.expect

脚本代码论坛

vim /usr/lib/nagios/plugins/check_disk.sh

代码 配置 ··来源论坛

程序架构:   

监控子脚本load.sh/502.sh讲解

vi ../shares/load.sh

2.4 lanmp脚本思路

 指定ip和指定文件同步脚本

conf下是配置文件

cd mon/

rsync -av --files-from=list.txt  /  root@host:/

脚本局部解析-安装nginx

?mod=viewthread&tid=8128&highlight=shell%B1%E0%B3%CC6

cd /usr/local/sbin/

输出日志:整个监控系统要有日志输出。

echo $?

./2.expect

使用nagios自定义脚本

nagios自定义监控系统磁盘脚本

log下是日志。


mkdir bin conf mail shares log

cd /usr/local/sbin/mon/bin; /bin/bash main.sh

3.4 zabbix自定义脚本

邮件脚本讲解

vim 5.expect

               bin          conf            shares                  mail                         log

ls -l


 自动同步文件脚本

监控系统主脚本讲解

1.7 自动登录expect脚本

                                         (主目录 mon)
                 ____________________|_______________________________

chmod  a+x 5.expect

vim 4.expect


mkdir mon

思路:指定一个脚本包,包含主程序、子程序、配置文件、邮件引擎、输出日志等。

自动登陆后执行命令

?mod=viewthread&tid=8106&highlight=shell%B1%E0%B3%CC


需求: 使用shell定制各种个性化告警工具,但需要统一化管理、规范化管理。



vi ../shares/502.sh

/etc/init.d/nrpe restart 

shares下是各个监控脚本

3.0 执行脚本安装lamp

vi ../mail/mail.php


yum install -y rsync 客户端安装

                |              |                    |                       |                             |

vi main.sh

yum install -y expect

chmod +x 1.expect

vim 1.expect

./3.expect root 192.168.1.208 "ls /tmp/12.txe"

脚本局部解析-安装php

./3.expect

脚本局部解析-安装mysql


expect脚本传递参数

vim 6.expect

子程序:这个才是真正的监控脚本,用来监控各个指标。

./1.expect

2. 实现思路

脚本局部解析-安装mysql和httpd

chmod  a+x 6.expect

                |              |                    |                       |                             |

chmod a+x exe.expect

3.1 再次执行脚本安装lnmp

2.2 构建简易文件分发系统

3.5 使用zabbix自定义脚本

. 需求背景

监控系统整体回顾

首先要有一台模板机器,把要分发的文件准备好,然后只要使用expect脚本批量把需要同步的文件分发到目标机器即可。

监控思路、架构介绍

对于大公司而言,肯定时不时会有网站或者配置文件更新,而且使用的机器肯定也是好多台,少则几台,多则几十甚至上百台。所以,自动同步文件是至关重要的。

vi ../conf/mon.conf

./5.expect 192.168.1.208 /tmp/12.txt

mail下是邮件引擎

./3.expect root 192.168.1.208 "w"

?mod=viewthread&tid=8119&highlight=shell%B1%E0%B3%CC

2.9 脚本局部解析-安装php-fpm

cat main.sh

ls /usr/lib/nagios/plugins/

脚本局部解析-安装mysql

邮件引擎:是由一个php程序来实现,它可以定义发邮件的服务器、发邮件人以及收邮件人。
配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。
主程序:作为整个脚本的入口,是整个系统的命脉。
要求:我们的机器角色多种多样,但是所有机器上都要部署同样的监控系统,也就说所有机器不管什么角色,整个程序框架都是一致的,不同的地方在于根据不同的角色,定制不同的配置文件。


bin下是主程序

vim exe.sh

3. 核心命令

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。