ansible playbook之循环with_item

本文介绍如何使用Ansible自动化工具批量在多台服务器上创建用户和用户组,并提供了详细的YAML脚本示例,包括创建、删除用户及用户组的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务目标1:

web组有三台服务器
web所有服务器新建3个用户,user1,user2,user3


1,新建pbook.yml文件

vim pbook.yml

写入内容:

- hosts: web  #指定web组左右主机,配置见/etc/ansible/hosts文件
  remote_user: root  #指定远端服务器使用root用户执行
  tasks:
  - name: create_user
    user: name={{ item  }}  #变量item
    with_items:  #循环三个用户名
    - user1
    - user2
    - user3

保存退出

2.执行

ansible-playbook pbook.yml

完毕
如果要删除刚刚新建的三个用户,执行下面的yml文件

 - hosts: web
  remote_user: root
  tasks:
 - name: create_user
    user: name={{ item  }} state=absent  #absent删除
    with_items:
    - user1
    - user2
    - user3

任务目标2:

web组有三台服务器
web所有服务器新建3个用户组,gropu1,gropu2,gropu3
web所有服务器新建3个用户:

  • user1归属组group1
  • user2归属组group2
  • user3归属组group3

1,新建pbook.yml文件

vim pbook.yml

写入内容:

- hosts: web
  remote_user: root
  tasks:
  - name: create_group  #任务1,新建组
    group: name={{ item }}
    with_items:
    - group1
    - group2
    - group3
    tags: group  # 暂时不用,一会删除组的时候会用到
  - name: create_user  #任务2,新建用户且指定组
    user: name={{ item.user }}
    with_items:
    - {user: user1,group: group1}
    - {user: user2,group: group2}
    - {user: user3,group: group3}
    tags: user  # 暂时不用,一会删除组的时候会用到

2.执行

ansible-playbook pbook.yml

完毕

如果需要删除刚刚新建的组和用户,修改yml文件如下

- hosts: web
  remote_user: root
  tasks:
  - name: create_group
    group: name={{ item }} state=absent  # absent删除
    with_items:
    - group1
    - group2
    - group3
    tags: group
  - name: create_user
    user: name={{ item.user }} state=absent   # absent删除
    with_items:
    - {user: user1,group: group1}
    - {user: user2,group: group2}
    - {user: user3,group: group3}
    tags: user

执行:
注意执行顺序,因为组里面有用户,删除操作会报错,所以先删除用户,再删除组
删除组:

ansible-playbook -t group pbook.yml

删除用户:

ansible-playbook -t user pbook.yml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值