公司数百的服务器需要安装zabbix agent,却因公司规章无法使用批量部署软件的情况,你只能静下心来一台台安装。当然也可以使用简便方法安装:
此处的’zabbix agent 2‘ 为我需要安装的新版本zabbix agent。
首先查看本机是否安装,若未安装,执行:notexist 从可访问文件夹或者公共盘拷贝需要的文件夹,并调用 change.bat 将源conf配置文件的hostname改为本机hostname:
rem 查找‘zabbix agent 2’service是否存在,存在errorlevel返回 0。
sc query "Zabbix Agent 2"
rem ‘ NOT ’指定只有条件为 false 的情况下,Windows 才应该执行该命令。
rem ‘ERRORLEVEL number' 如果最后运行的程序返回一个'等于或大于'指定'数字(number)'的退出代码,指定条件为 true。
if not errorlevel 1 (goto exist) else goto notexist
:exist
pause
goto end
:notexist
rem 在cmd中返回最高层执行命令
cd c:\
rem 从共享文件中copy出需要的安装包,我们这里安装到program files文件夹中,因为该文件夹中不能修改文档,所以先copy到其他文件夹中修改conf配置文件
xcopy "\\FLS\Public\MIS\SOP\Zabbix Agent2" "c:\Zabbix Agent2" /E/H/C/I/Y
rem 调用‘change.bat’更新本机的hostname到conf文件中。
call "c:\Zabbix Agent2\conf\change.bat"
rem 将更改后的包copy到c:\program files文件夹中
xcopy "c:\Zabbix Agent2" "C:\program Files\Zabbix Agent2" /E/H/C/I/Y
rmdir "c:\Zabbix Agent2" /s/q
rem 卸载原来的zabbix agent(若有则卸载)
cd "C:\Program Files\Zabbix Agent"
zabbix_agentd.exe --uninstall
rem 到安装路径上,安装你的zabbix agent (卸载:zabbix_agent2.exe --uninstall -c "C:\Program Files\Zabbix Agent2\conf\zabbix_agent2.conf")
cd C:\Program Files\Zabbix Agent2\bin
zabbix_agent2.exe --install -c "C:\Program Files\Zabbix Agent2\conf\zabbix_agent2.conf"
rem 卸载后,需要停止服务,并启用新服务
net stop "Zabbix Agent"
net start "Zabbix Agent 2"
rem 删除旧版本的agent安装包
rmdir "C:\Program Files\Zabbix Agent" /s/q
pause
goto end
change.bat代码如下:
@echo off&setlocal EnableDelayedExpansion
for /f "delims=" %%b in ('type "c:\Zabbix Agent2\conf\zabbix_agent_old.conf"') do (
set "str=%%b"&set "str=!str:ECND3646=%COMPUTERNAME%!"
echo !str! >>"c:\Zabbix Agent2\conf\zabbix_agent2.conf"
)
版权声明:本文为lambto原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。