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]#

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

这个思路需要掌握下。

相关推荐
小安运维日记2 天前
RHCA - DO374 | Day03:通过自动化控制器运行剧本
linux·运维·数据库·自动化·ansible·1024程序员节
遇见火星2 天前
Aiops探索:基于Ansible的Dify版本运维智能体落地思路
运维·服务器·ansible
星哥说事3 天前
网络自动化:Ansible/Netmiko 网络设备批量配置与管理
网络·自动化·ansible
zz-zjx3 天前
全平台Ansible一键安装脚本:Ubuntu/Debian/RHEL全支持
ansible
不惑_4 天前
如何使用 Ansible 安装 Docker
docker·github·ansible
小安运维日记6 天前
RHCA - DO374 | Day01:使用红帽Ansible自动化平台开发剧本
运维·服务器·云原生·自动化·云计算·ansible
BullSmall6 天前
Ansible三大Web界面方案全解析
运维·ansible
Warren986 天前
复习MySQL
数据库·windows·tcp/ip·mysql·ubuntu·ssh·ansible
早睡冠军候选人9 天前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
yourkin66613 天前
Ansible
ansible