自动安装zabbix-agentd脚本 自己写的
zabbix_agent_install.sh
#!/bin/bash
#auther by wangxp ZABBIX_AGENT_DIR="/usr/local/zabbix"
ZABBIX_AGENT_FILE_NAME="zabbix_agent-5.0.15-linux-3.0-amd64-static.tar.gz"
SERVER_IP=111.111.110.41
#LOG_FILE= echo "检查安装文件..."
sleep 1
if test -f "$ZABBIX_AGENT_FILE_NAME"
then
echo "当前目录找到安装文件:$ZABBIX_AGENT_FILE_NAME"
else
ls `pwd`
echo "当前目录找不到:$ZABBIX_AGENT_FILE_NAME ,脚本退出"
exit 1
fi echo "检查安装目录..."
sleep 1
if test -d $ZABBIX_AGENT_DIR
then
echo "存在安装路径:$ZABBIX_AGENT_DIR"
rm -rf $ZABBIX_AGENT_DIR/*
echo "清理$ZABBIX_AGENT_DIR"
else
echo "创建安装路径:$ZABBIX_AGENT_DIR"
mkdir -pv $ZABBIX_AGENT_DIR
fi echo "创建zabbix用户..."
sleep 1
grep "zabbix" /etc/passwd
if [ $? -ne 0 ];
then
useradd zabbix -s /sbin/nologin
fi
#检测函数
check(){
if [ $? -ne 0 ];
then
echo "Error,Please check again."
exit 1
fi
}
zabbixsign(){
if test -z "`ss -ntlp|grep zabbix_agentd|grep -v grep`"
then
echo "zabbix_agentd服务启动失败"
sign=0
else
echo "zabbix_agentd服务启动成功"
sign=1
fi
} echo "开始解压缩文件..."
sleep 1
tar -zxvf $ZABBIX_AGENT_FILE_NAME -C $ZABBIX_AGENT_DIR
check echo “创建软链接”
sleep 1
if test -L '/usr/bin/zabbix_sender'
then
rm -rf /usr/bin/zabbix_sender
echo "删除已有/usr/bin/zabbix_sender"
fi
if test -L '/usr/bin/zabbix_get'
then
rm -rf /usr/bin/zabbix_get
echo "删除已有/usr/bin/zabbix_get"
fi
if test -L '/usr/sbin/zabbix_agentd'
then
rm -rf /usr/sbin/zabbix_agentd
echo "删除已有/usr/sbin/zabbix_agentd"
fi ln -s `find $ZABBIX_AGENT_DIR -type f -name zabbix_sender` /usr/bin
echo "创建软连接/usr/bin/zabbix_sender"
check
ln -s `find $ZABBIX_AGENT_DIR -type f -name zabbix_get` /usr/bin
echo "创建软连接/usr/bin/zabbix_get"
check
ln -s `find $ZABBIX_AGENT_DIR -type f -name zabbix_agentd` /usr/sbin
echo "创建软连接/usr/sbin/zabbix_agentd"
check echo "修改zabbix_agent配置..."
sleep 1
sed -r -i s/^Server=127.0.0.1/Server=$SERVER_IP/g `find $ZABBIX_AGENT_DIR -type f -name zabbix_agentd.conf`
check
sed -r -i s/^ServerActive=127.0.0.1/ServerActive=$SERVER_IP/g `find $ZABBIX_AGENT_DIR -type f -name zabbix_agentd.conf`
check
sed -r -i s/'^Hostname=Zabbix server'/Hostname=`hostname`/g `find $ZABBIX_AGENT_DIR -type f -name zabbix_agentd.conf`
check echo -e "zabbix_agent基本配置:"
cat `find $ZABBIX_AGENT_DIR -name zabbix_agentd.conf` | egrep '^Server|^ServerActive|^Hostname' echo -e "添加zabbix_agent启停脚本。。。"
sleep 1
if test ! -f zabbix_agent.sh
then
echo -e "#!/bin/bash\n# chkconfig: 2345 22 78\n# description:\n
ZABBIX_AGENT_DIR=$ZABBIX_AGENT_DIR
ZABBIX_AGENT=`find $ZABBIX_AGENT_DIR -type f -name zabbix_agentd`
ZABBIX_AGENT_CONF=`find $ZABBIX_AGENT_DIR -type f -name zabbix_agentd.conf`" > zabbix_agentd.sh
echo '
function stop(){
kill -15 `cat /tmp/zabbix_agentd.pid`
}
case $1 in
start)
$ZABBIX_AGENT -c $ZABBIX_AGENT_CONF
;;
stop)
stop
;;
restart)
stop
$ZABBIX_AGENT -c $ZABBIX_AGENT_CONF
;;
*)
echo "Usage:service zabbix_agentd start|stop|restart"
;;
esac'>>zabbix_agentd.sh
chmod u+x zabbix_agentd.sh
else
echo "当前目录已经存在zabbix_agent.sh脚本。"
fi if test -f /etc/init.d/zabbix-agentd;
then
rm -rf /usr/local/etc/zabbix_agentd.conf
echo "删除已存在/etc/init.d/zabbix-agentd"
fi
echo "zabbix_agent添加到init进程..."
sleep 1
cp zabbix_agentd.sh /etc/init.d
check
mv /etc/init.d/zabbix_agentd.sh /etc/init.d/zabbix-agentd
chmod a+x /etc/init.d/zabbix-agentd echo "zabbix_agent开机启动设置"
chkconfig --add zabbix-agentd
chkconfig zabbix-agentd on
service zabbix-agentd start
sleep 1
zabbixsign if [ $sign -eq 0 ];then
echo "尝试用root启动用户"
sleep 1
sed -r -i /'# AllowRoot=0'/a\AllowRoot=1 `find $ZABBIX_AGENT_DIR -type f -name zabbix_agentd.conf`
echo -e "zabbix_agent基本配置:"
cat `find $ZABBIX_AGENT_DIR -name zabbix_agentd.conf` | egrep '^Server|^ServerActive|^Hostname|^AllowRoot'
sleep 3
service zabbix-agentd start
fi
sleep 1
zabbixsign
自动安装zabbix-agentd脚本 自己写的的更多相关文章
- mysql5.7 在Centeros 6 下自动安装的shell脚本
概述: 此脚本实现了在Centeros 6版本下自动安装mysql5.7到目录 /opt/mysql-5.7*并且做软连接映射到 /usr/local/mysql,自动修改root密码为:123456 ...
- 自己用ansible加shell 写的自动安装kubernetes的脚本
脚本地址:https://github.com/shatianxiaozi/auto_install_k8s.git 1. 下载 git clone https://github.com/shatia ...
- ansible 批量安装zabbix agentd客户端
目录结构 # tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── roles │ └── zabbix-agentd │ ...
- (二)centos7安装zabbix agentd端
关闭防火墙和selinux systemctl stop firewalld systemctl disable firewalld sed -ri '/^SELINUX=/cSELINUX=disa ...
- 自动安装L2tp的脚本
来自于 https://teddysun.com/448.html #!/usr/bin/env bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/ ...
- python3自动安装脚本,python3.x与python2.x共存
1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且 ...
- 实用脚本----Linux下Jdk和Tomcat自动安装shell脚本总结
系统环境为:ubuntu 14.04 一.JDK 自动安装脚本 jdk自动安装bash shell脚本,截止今天(2014/10/15)亲测可用: sudo su #切换到root权限 mkdir / ...
- Zabbix Server 和 Zabbix Agentd 开机自动运行
Zabbix Server 和 Zabbix Agentd 开机自动运行 请问:怎样 Zabbix Server 和 Zabbix Agentd 开机自动运行? 注:如果你的命令行写进了 /etc/r ...
- hadoop自动安装的脚本与步骤
最近要在10几台机器上安装hadoop.对于这种繁复而重复的工作,一步步的打命令行,对于程序员来说是一件不能忍的事情.所以我就琢磨着怎么写一个脚本来自动安装hadoop. 任务: 在10几台机器上中的 ...
- 可以自动安装mysql数据库的一个shell脚本
发布:thatboy 来源:脚本学堂 [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...
随机推荐
- Windows下驱动安装
推荐使用金山毒霸中的电脑医生进行驱动或DLL文件的扫描,查找并下载 dll文件下载地址: https://www.wenjian.net/ 可以进行下载,告诉该文件的放置路径 其他:
- golang之循环导包
作为一个 Golang 开发,你可能在项目中遇到过包的循环依赖问题.Golang 不允许循环依赖,如果检测到代码中存在这种情况,在编译时就会抛出异常. 循环依赖 假设我们有两个包:p1和p2.当包p1 ...
- LonEle 操作的 SQL Server 数据库(msde2000)由 20180418 版更新至 20190328 版(非官方)
Shanghai Mitsubishi Elevator Co., Ltd(上海三菱电梯有限公司) 的 Comprehensive Elevator Monitoring System (电梯综合监控 ...
- 基于 .NET 开发的多功能流媒体管理控制平台
前言 今天大姚给大家分享一个基于 .NET 开发且开源(MIT License)的多功能流媒体管理控制平台:AKStream. 项目介绍 AKStream是一个基于.NET开发且开源(MIT Lice ...
- web移动端屏幕适配方案
因为手机屏幕的分辨率大小不一 ,如果使用传统的静态布局,把每个元素的宽高样式写死,在不同的屏幕中就有各种各样的显示效果.这显然不是我们想要的结果.我们需要的是根据屏幕分辨率的不同,来适配不同的样式大小 ...
- 如何使用CRM管理不同发展阶段的医药代表
通过医药代表,医生可以获得该产品的全面指导和信息.通过这一类医药代表的筛选,产品信息被有效的分类和翻译,变成了医生的"用药词典",给医生在使用该产品的过程中,提供了快捷准确的信息服 ...
- controller返回路径问题
项目打包后,报错template might not exist or might not be accessible by any of the configured Template Resolv ...
- webpack-dev-server配置https
前情 最近在做一个浏览器通知的交互需求,但是查阅官方文挡,浏览器通知需要在https环境下才能工作,于是就研究怎么在开发环境下配置一个https服务器 STEP1 安装Chocolatey Choco ...
- 优雅地打印 HEX 数据
转载至知乎Murphy https://zhuanlan.zhihu.com/p/320391096 前言 在调试的时候经常要打印内存里的数据,来看看数据及格式是否在预期范围内:以及在调试二进制协议的 ...
- LeetCode题集-8 - 字符串转换整数 (atoi)
题目:请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数. 01.手动处理每个字符法 最简单的方法永远是脑海中第一个想到的方法,也是最暴力的方法,而这 ...