posts - 80,comments - 0,views - 54498

Ansible 项目案例

1、环境规划

 角色      ip      部署软件

m01    192.168.1.66            ansible

backup         192.168.1.67       rsync  

nfs      192.168.1.70    nfs、sersync

web01          192.168.1.69        httpd

 

实施步骤:

m01配置要求:

1.保证ssh密钥认证生效

2.安装ansible

3.准备所有的配置文件

本地hosts

selinux配置文件

rsyncd.conf

exports

mail.rc

sersync

rsync备份脚本

rsync检测脚本

 

mkdir -p /etc/ansible/ansible_playbook/{conf,file,scripts,tools}

保证ssh密钥认证生效

安装ansible

1、基础环境部署 (host: all)

1)网络环境(selinux firewalld)

复制代码
- hosts: all
  tasks:
    
 
    - name: Disable SELinux
      copy: src=./conf/selinux.config dest=/etc/selinux/config


    - name : Stop SElinux
      shell: setenforce 0
复制代码
    - name: Disable Firewalld
      service: name=firewalld state=stopped enabled=no

2)epel仓库

 - name: Create Epel Repo
      get_url: url=http://mirrors.aliyun.com/repo/epel-7.repo dest=/etc/yum.repos.d/epel.repo
    

3)安装rsync,nfs-utils软件包

    - name: Install Rsync Nfs
      yum : name=rsync,nfs-utils state=installed

4)创建组

    - name: Create Group
      group: name=www gid=666

5)创建用户

    - name: Create User
      user: name=www uid=666 group=666 create_home=no shell=/sbin/nologin

6)创建目录,并修改所属和权限

    - name: Create Directory /data
      file: path=/data owner=666 group=666 recurse=yes state=directory

7)推送脚本

    - name: Create Scripts Directory
      file: path=/server/scripts state=directory
    
    - name: Push Rsync Backup Scripts
      copy: src=./scripts/rsync_backup.sh dest=/server/scripts/rsync_backup.sh

8)推送rsync客户端密码文件,并修改权限

    - name: Create Rsync Client Pass File
      copy: content='1' dest=/etc/rsync.pass mode=600

9)计划任务

    - name: Create Rsync Client Pass File
      copy: content='1' dest=/etc/rsync.pass mode=600

 

2、Rsync部署

1)安装rsync

2)  配置

3)启动

4)脚本

5)计划任务

复制代码
- hosts: backup
  tasks:
    - name: Install Rsync Mailx
      yum: name=rsync,mailx state=installed

    - name: Push Rsync Config File
      copy: src=./conf/rsyncd.conf dest=/etc/rsyncd.conf
      notify: Restart Rsyncd

    - name: Create Rsync Auth File

      copy: content="rsync_backup:1' dest=/etc/rsync.password mode=600

    - name: Start Rsync Service
      servcie: name=rsyncd state= started enabled=yes

    - name: Push Mailx Config File
      copy: src=./conf/mail.rc dest=/etc/mail.rc

    - name: Push Rsync Check Script
      copy: src=./scripts/rsync_check.sh dest=/server/scripts/rsync_check.sh

    - name: Create Rsync Check Crontab
      cron: name='Rsync Check' hour=5 minute=0 job='/bin/sh /server/scripts/rsync_check.sh &>/dev/null'
  handlers:
    - name: Restart Rsyncd
      service: name=rsyncd state=restarted
复制代码

3、nfs部署

1)安装nfs-utils

2)  配置

3)启动

复制代码
- hosts: nfs
  tasks:
    - name: Install nfs
      yum: name=nfs-utils state=installed
    - name: Push NFS Config File
      copy: src=./conf/exports dest=/etc/exports
      notify: Restart NFS

    - name: Start Rpcbind Service
      service: name=rpcbind state=started

    - name: Star nfs service
      service: name=nfs state=started  enabled=yes

  handlers:
    - name: Restart NFS
      service: name=nfs state=restarted
复制代码

4、sersync部署

 

posted on   草根920  阅读(539)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示