使用ansible-playbook脚本部署服务器环境,以及必要的软件。

简介: 使用ansible-playbook脚本部署服务器环境,以及必要的软件。配合下面链接脚本使用,效果更加。https://developer.aliyun.com/article/834279?spm=a2c6h.13148508.0.0.66ec4f0er2JWkj
---#固定格式- hosts: genghuanip      #定义需要执行主机  remote_user: root       #远程用户  vars:                   #定义变量    http_port: 8088       #变量  tasks:                             #定义一个任务的开始#安装环境    - name: yum env         #定义任务的名称      yum: name=epel-release,sysstat,dstat,net-tools,wget,lrzsz,mailx,vim,tcpdump,iotop state=installed   #调用模块,具体要做的事情#创建文件夹    - name: mkdir tools         #定义任务的名称      file: path=/tools state=directory
      tags: mkdir_tools
#关闭selinux    - name: disable selinux
      lineinfile: path=/etc/selinux/config regexp="^SELINUX=" line="SELINUX=disabled"      tags: selinux
#修改邮箱配置文件    - name: mail config
      shell: echo -e "set from=发件邮箱名 \nset smtp=smtps://smtp.exmail.qq.com:465 \nset smtp-auth-user=发件邮箱 \nset smtp-auth-password=邮箱服务密码 \nset smtp-auth=login \nset ssl-verify=ignore \nset nss-config-dir=/root/.certs" >> /etc/mail.rc
      tags: configmail
#邮箱证书    - name: mail cert
      shell: mkdir -p /root/.certs/  && cd /root/.certs/ && echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'> ~/.certs/exmail.qq.crt && certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/exmail.qq.crt && certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/exmail.qq.crt && certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i exmail.qq.crt && certutil -L -d /root/.certs
      tags: mailcert
#传输装机文件夹    - name: scp file
      copy: src=/tools/lxj-zj/ dest=/tools/
      tags: scp
#添加服务器检测脚本定时任务    - name: add monitor cron
      cron: name="服务器性能,磁盘等检测" minute=*/10 job='python /tools/monitor/monitor.py >> /tools/monitor/m.log 2>&1 &'      tags: monitor
#添加定时任务备份任务    - name: add cronbackup cron
      cron: name="cron定时任务备份脚本" minute=30 hour=19 job='bash /tools/crontab/cron_backup.sh >> /tools/crontab/cron_backup.log 2>&1 &'      tags: addcronbk
#安装fail2ban软件    - name: add fail2ban
      shell: cd /tools/fail2ban &&  tar -zxvf fail2ban-0.9.4.tar.gz && cd fail2ban-0.9.4 && ./setup.py install && mv /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak && mv /etc/fail2ban/action.d/mail-whois-lines.conf /etc/fail2ban/action.d/mail-whois-lines.conf.bak && cp /tools/fail2ban/jail.conf /etc/fail2ban/ && cp /tools/fail2ban/mail-whois-lines.conf /etc/fail2ban/action.d/ && cp /tools/fail2ban/fail2ban-0.9.4/files/redhat-initd /etc/init.d/fail2ban && sed -i 's@Starting fail2ban.*@&\n    [ ! -e "/var/run/fail2ban" ] \&\& mkdir /var/run/fail2ban@' /etc/init.d/fail2ban && chkconfig fail2ban on && service fail2ban start
      tags: addfail2ban
#安装nodee_exporter    - name: add node_exporter
      shell: cd /tools && tar -zxvf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/ && cd /usr/local/ && mv node_exporter-0.18.1.linux-amd64/ node_exporter && firewall-cmd --add-port=9100/tcp --permanent && firewall-cmd --reload && chmod +x /etc/rc.local && echo 'nohup /usr/local/node_exporter/node_exporter > /usr/local/node_exporter/node_exporter.log 2>&1 &' >> /etc/rc.local && nohup /usr/local/node_exporter/node_exporter > /usr/local/node_exporter/node_exporter.log 2>&1 &
      tags: addnodeexporter
    - name: 添加管理用户       #定义任务的名称      user: name=jumpadmin password="用户密码"#调用模块,具体要做的事情    - name: 添加sudo         #定义任务的名称      blockinfile: path=/etc/sudoers block="jumpadmin    ALL=(ALL)       NOPASSWD:ALL"      tags: addsudo
#安装用户检测脚本    - name: add check users
      shell: /bin/bash /tools/monitor/xs_user_passwd_monitor.sh install
      tags: addcheckusers
#添加用户检测脚本定时任务    - name: add checkusers cron
      cron: name="user-monitor   log:/tmp/diff.log" minute=*/10 job='/bin/bash /tools/monitor/xs_user_passwd_monitor.sh start'      tags: addcheckuserscron
#删除180天前的历史命令记录    - name: delete 180history
      cron: name="删除180天前的历史命令记录" minute=30 hour=19 job='find /var/log/history_record/ -type f -mtime +180 -delete'      tags: delete_180history
#复制调用脚本    - name: scp file
      copy: src=/etc/ansible/playbook/hs_rcd.sh dest=/etc/profile.d/
      tags: scp
目录
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
1月前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
9天前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
7天前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
11天前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
25 8
|
29天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
8天前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
19天前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
35 7
|
19天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
27 4
|
24天前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。