ansible常用的方法小结
一、批量安装zabbix客户端 1.拷贝sh脚本和.conf到远程服务器(也可以全量拷贝客户端) ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/scripts/php_status_code.sh dest=/usr/local/zabbix_agents_3.2.0/scripts/ mode=0755" ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/scripts/start_php.sh dest=/usr/local/zabbix_agents_3.2.0/scripts/ mode=0755" ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd/php-fpm_status.conf dest='/usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd/'" # 在ansible服务器上添加/data/www/.machine_no,然后添加批量赋权 ansible all -m copy -a "src=/data/www/.machine_no dest=/data/www/ mode=0644 owner=apache group=users" # 拷贝整个目录到目标服务器 ansible all -m copy -a "src=/usr/local/zabbix_agents_3.2.0/ dest=/usr/local/zabbix_agents_3.2.0/ mode=0755" 2.开启远程命令 ansible cmsnew -m shell -a "sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /etc/zabbix/zabbix_agentd.conf" # apache 添加配置 ansible all -m blockinfile -a 'path=/usr/local/httpd-2.2.26/conf/httpd.conf block="ExtendedStatus On\n<location /server-status>\n SetHandler server-status\n Order Allow,Deny\n Allow from 127.0.0.1\n</location>" insertbefore=EOF' # 重启apache /etc/init.d/apache -t /etc/init.d/apache restart # 添加sudo权限 ansible all -m blockinfile -a 'path=/etc/sudoers block="Defaults:zabbix !requiretty\nzabbix ALL=NOPASSWD: ALL\nzabbix ALL=NOPASSWD: /bin/bash /usr/local/rsync/bin/rsync\nzabbix ALL=NOPASSWD: /bin/bash /usr/local/nginx/sbin/nginx\nzabbix ALL=NOPASSWD: /bin/bash /usr/local/php/sbin/php-fpm\n" insertbefore=EOF' # 修改主机名 ansible all -m shell -a 'sed -i "s/Hostname\=zabbixclient/Hostname\=`hostname`/g" /usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd.conf' ansible all -m shell -a "cd /usr/local/zabbix_agents_3.2.0 && sh agent.sh" ansible all -m shell -a "executable=/bin/bash /etc/init.d/zabbix_agentd restart" # 批量添加计划任务,批量新增时间同步任务 ansible all -m cron -a "minute=1 hour=* day=* month=* weekday=* name='ntpdate' job='/usr/sbin/ntpdate time.windows.com > /dev/null 2>&1'" ansible Europe_Tunesgo_web1 -m cron -a "minute=1 hour=* day=* month=* weekday=* name='ntpdate' job='/usr/sbin/ntpdate time.windows.com > /dev/null 2>&1'" # agent.sh #!/bin/bash #清理历史信息 rm -rf /usr/local/etc/zabbix_agent* rm -f /etc/init.d/zabbix_agentd rm -f /usr/bin/zabbix_* rm -f /usr/sbin/zabbix_* rm -f /usr/local/zabbix_agents_2.0.10.tar.gz rm -rf /usr/local/zabbix_agents_2.0.10 /usr/sbin/groupadd zabbix /usr/sbin/useradd -g zabbix zabbix mkdir /var/log/zabbix chown zabbix.zabbix /var/log/zabbix cp init.d/zabbix_agentd /etc/init.d/ chmod 755 /etc/init.d/zabbix_agentd zabbix_dir=/usr/local/zabbix_agents_3.2.0 #sed -i "s#BASEDIR=/usr/local#BASEDIR=$zabbix_dir#g" /etc/init.d/zabbix_agentd sed -i "s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g" $zabbix_dir/conf/zabbix_agentd.conf sed -i "s/# UnsafeUserParameters\=0/UnsafeUserParameters\=1/g" $zabbix_dir/conf/zabbix_agentd.conf ln -s $zabbix_dir/conf/zabbix_agentd.conf /usr/local/etc ln -s $zabbix_dir/conf/zabbix_agentd /usr/local/etc ln -s $zabbix_dir/bin/* /usr/bin/ ln -s $zabbix_dir/sbin/* /usr/sbin/ chkconfig zabbix_agentd on #service zabbix_agentd start
分类:
ansible
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2017-07-03 运维与自动化系列④自动化部署基础与git
2017-07-03 运维与自动化系列③自动化部署基础与shell脚本实现
2017-07-03 运维与自动化系列②自动化安装和部署
2017-07-03 运维与自动化系列①运维与自动化概述
2017-07-03 Git系列②之部署企业级开源仓库gitlab服务器