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

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

这个思路需要掌握下。

相关推荐
迷茫的大专生9 天前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive
杜子不疼.12 天前
Ansible 批量部署 Node Exporter:从单机安装流程到远程主机统一执行
ai·ansible
运维全栈笔记13 天前
Ansible 自动化 Nginx 集群部署实战:动态 Inventory、滚动发布与 Role 工程化
nginx·自动化·ansible
User_芊芊君子17 天前
让异构增量同步飞起来-KFS全链路并行同步方案
运维·自动化·ansible
あ-20 天前
ansible-playbook安装seaweedfs三节点集群
ansible
Tassel_YUE22 天前
非 ansible 主机批量执行命令方法:psssh 和 pscp(随手记)
linux·网络·ssh·scp·ansible
亿朝亿夕1 个月前
ansible安装
ansible
.柒宇.1 个月前
运维常见面试题_07_配置管理与监控(Ansible · Prometheus · Alertmanager)· 容器编排(Kubernetes)
运维·k8s·ansible·prometheus
相顾若初见1 个月前
Ansible部署k8s
容器·kubernetes·ansible
wzq11_6661 个月前
ansible部署项目——基于tidb数据库安装zabbix_server
ansible·zabbix·tidb