Ansible学习笔记8

group模块:

创建一个group组:

bash 复制代码
[root@localhost ~]# ansible group1 -m group -a "name=aaa gid=5000"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 5000,
    "name": "aaa",
    "state": "present",
    "system": false
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 5000,
    "name": "aaa",
    "state": "present",
    "system": false
}

检查group组的创建:

bash 复制代码
[root@agent1 tmp]# grep aaa /etc/group
aaa:x:5000:

默认创建用户,并将bbb添加到group5000这个组中。

bash 复制代码
[root@localhost ~]# ansible group1 -m user -a "name=bbb group=5000"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 5000,
    "home": "/home/bbb",
    "name": "bbb",
    "shell": "/bin/bash",
    "state": "present",
    "system": false,
    "uid": 1000
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 5000,
    "home": "/home/bbb",
    "name": "bbb",
    "shell": "/bin/bash",
    "state": "present",
    "system": false,
    "uid": 1000
}

检查:

bash 复制代码
[root@agent1 tmp]# grep bbb /etc/passwd
bbb:x:1000:5000::/home/bbb:/bin/bash

把用户添加到一系列组中。

bash 复制代码
[root@agent1 tmp]# id bbb
uid=1000(bbb) gid=5000(aaa) groups=5000(aaa)

只有先删除bbb用户,然后再删除组:

bash 复制代码
[root@localhost ~]# ansible group1 -m user -a "name=bbb state=absent"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "force": false,
    "name": "bbb",
    "remove": false,
    "state": "absent"
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "force": false,
    "name": "bbb",
    "remove": false,
    "state": "absent"
}
[root@localhost ~]#
[root@localhost ~]# ansible group1 -m group -a "name=aaa state=absent"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "name": "aaa",
    "state": "absent"
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "name": "aaa",
    "state": "absent"
}

操作的过程中,还要注意删除用户的家目录。

cron模块:

cron模块,用于管理周期性时间任务。

创建一个cron任务,不指定user的话,默认是root(因为我这里是用root操作的)。

如果minute、hour、day、month、week不指定的话,默认是*。

对周期任务比较熟悉的话,那这个模块还是很好理解的。

vim /etc/crontab:

注意:其中要配置用户名,再写要干的事情。

如果我们直接使用crontab -e,就不用写用户,因为就是使用root用户来操作的。

然后还需要记住一个路径:/var/spool/cron 这个路径:

创建一个案例:

bash 复制代码
[root@localhost ~]# ansible group1 -m cron -a "name='cron1' user=root job='touch /tmp/222' minute=*/2 hour=1,3-5"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "envs": [],
    "jobs": [
        "cron1"
    ]
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "envs": [],
    "jobs": [
        "cron1"
    ]
}
bash 复制代码
[root@agent1 tmp]# crontab -l
#Ansible: cron1
*/2 1,3-5 * * * touch /tmp/222

删除cron:

bash 复制代码
[root@localhost ~]# ansible group1 -m cron -a "name='cron1' state=absent"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "envs": [],
    "jobs": []
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "envs": [],
    "jobs": []
}
bash 复制代码
[root@agent1 tmp]# crontab -l
[root@agent1 tmp]#

通过文件的方式也可以进行操作:

这个思路需要掌握下。

相关推荐
I'mChloe2 天前
不再逐台装Docker:我用Ansible Playbook批量统一服务器环境
服务器·docker·ansible
筑梦之路3 天前
Alibaba Cloud Linux 4 制作 Ansible RPM包实践(离线可复用)——筑梦之路
linux·运维·ansible
张洛闻Eren3 天前
Ansible【第一课】:Ansible介绍
运维·数据库·云原生·kubernetes·github·ansible
张洛闻Eren3 天前
Ansible【第二课】:实施 Ansible Playbook
linux·运维·服务器·云原生·kubernetes·k8s·ansible
励志师code4 天前
Ansible 批量运维实战:从连通性巡检到灰度变更的完整闭环
运维·ansible
哈__9 天前
飞牛OS还在手动维护?我用Ansible把重复操作写成了Playbook
开发语言·ansible·php
垚垚学技术_聚焦云原生19 天前
Ansible Role 生产环境标准目录结构与规范化实践
java·elasticsearch·ansible
垚垚学技术_聚焦云原生19 天前
Ansible Playbook 实战:批量配置 Linux 主机
ansible
迷茫的大专生1 个月前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive
杜子不疼.1 个月前
Ansible 批量部署 Node Exporter:从单机安装流程到远程主机统一执行
ai·ansible