group模块:
创建一个group组:
[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组的创建:
[root@agent1 tmp]# grep aaa /etc/group
aaa:x:5000:
默认创建用户,并将bbb添加到group5000这个组中。
[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
}
检查:
[root@agent1 tmp]# grep bbb /etc/passwd
bbb:x:1000:5000::/home/bbb:/bin/bash
把用户添加到一系列组中。
[root@agent1 tmp]# id bbb
uid=1000(bbb) gid=5000(aaa) groups=5000(aaa)
只有先删除bbb用户,然后再删除组:
[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 这个路径:
创建一个案例:
[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"
]
}
[root@agent1 tmp]# crontab -l
#Ansible: cron1
*/2 1,3-5 * * * touch /tmp/222
删除cron:
[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": []
}
[root@agent1 tmp]# crontab -l
[root@agent1 tmp]#
通过文件的方式也可以进行操作:
这个思路需要掌握下。