自动安装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数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...
随机推荐
- HTTP服务七层架构技术探讨
作者: phpkernel 发布时间: 2012-11-26 13:27 阅读: 3998 次 推荐: 8 原文链接 [收藏] 1. 为什么分层? 计算机领域的体系结构普遍采用了分层 ...
- 基于 .NET 的开源工作流引擎框架
前言 工作流管理成为了提高应用灵活性和可维护性的重要手段.Elsa 作为一款针对 .NET 平台的强大工作流库,为开发者提供了在各种 .NET 应用中轻松集成和执行复杂工作流的能力. 本文将详细介绍 ...
- Codeforces Round 732 (Div
AquaMoon and Strange Sort 有 \(n\) 个人从左到右站成一排,从左数第 \(i\) 个人的衣服上印着 \(a_i\).每个人的朝向可以是朝左.朝右.一开始所有人的方向都是朝 ...
- 在C#中调用EVAL函数方法,通过字符串计算
一.用 MSScriptControl 在 C# 中执行 JavaScript 代码 javascript 中有个eval方法,用过的人都知道他的方便和强大之处. 在C#中,我们也可以通过Com组 ...
- 真正“搞”懂HTTPS协议19之HTTPS优化
这是本系列的最后一篇了,其实本篇的内容也跟前两篇TLS的握手和优化有关系.其实HTTPS的核心就是TLS的明文握手连接,前两篇我们花了很大的篇幅来聊这些,另外一个就是在TLS握手完成后的密文传输部分了 ...
- 数据库开发规范v1.0
一.建表规约 [强制]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否). 说明:任何字段如果为非负数,必须是 unsi ...
- 在 .NET 环境下访问 SOAP 服务
在 .NET 环境下访问 SOAP 服务 SOAP 服务有着悠久的历史,目前仍然存在大量的 SOAP 服务,它是基于 HTTP 协议和 XML 技术的简单对象访问协议. 在 .NET Framewor ...
- language-ext
Library https://github.com/louthy/language-ext Learning Resource https://github.com/stumathews/Under ...
- .net delegate 万能适配
遇到一个技术点,记一下,.net 有一个 Delegate Marshall.GetDelegateForFunctionPointer(IntPtr ptr, Type t) 用来将内存地址映射为一 ...
- 【C#】【平时作业】习题-7-继承、抽象与多态
相关概念 什么是继承 继承定义了如何根据现有类创先新类的过程 任何类都可以从另外一个类继承 一个派生出来的子类具有这个类的所有公共属性和方法 类的继承机制 创建新类所根据的基础类称为基类或父类,新建的 ...