• Ansible学习笔记8


    group模块:

    创建一个group组:

    1. [root@localhost ~]# ansible group1 -m group -a "name=aaa gid=5000"
    2. 192.168.17.105 | CHANGED => {
    3. "ansible_facts": {
    4. "discovered_interpreter_python": "/usr/bin/python"
    5. },
    6. "changed": true,
    7. "gid": 5000,
    8. "name": "aaa",
    9. "state": "present",
    10. "system": false
    11. }
    12. 192.168.17.106 | CHANGED => {
    13. "ansible_facts": {
    14. "discovered_interpreter_python": "/usr/bin/python"
    15. },
    16. "changed": true,
    17. "gid": 5000,
    18. "name": "aaa",
    19. "state": "present",
    20. "system": false
    21. }

    检查group组的创建:

    1. [root@agent1 tmp]# grep aaa /etc/group
    2. aaa:x:5000:

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

    1. [root@localhost ~]# ansible group1 -m user -a "name=bbb group=5000"
    2. 192.168.17.105 | CHANGED => {
    3. "ansible_facts": {
    4. "discovered_interpreter_python": "/usr/bin/python"
    5. },
    6. "changed": true,
    7. "comment": "",
    8. "create_home": true,
    9. "group": 5000,
    10. "home": "/home/bbb",
    11. "name": "bbb",
    12. "shell": "/bin/bash",
    13. "state": "present",
    14. "system": false,
    15. "uid": 1000
    16. }
    17. 192.168.17.106 | CHANGED => {
    18. "ansible_facts": {
    19. "discovered_interpreter_python": "/usr/bin/python"
    20. },
    21. "changed": true,
    22. "comment": "",
    23. "create_home": true,
    24. "group": 5000,
    25. "home": "/home/bbb",
    26. "name": "bbb",
    27. "shell": "/bin/bash",
    28. "state": "present",
    29. "system": false,
    30. "uid": 1000
    31. }

    检查:

    1. [root@agent1 tmp]# grep bbb /etc/passwd
    2. bbb:x:1000:5000::/home/bbb:/bin/bash

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

    1. [root@agent1 tmp]# id bbb
    2. uid=1000(bbb) gid=5000(aaa) groups=5000(aaa)

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

    1. [root@localhost ~]# ansible group1 -m user -a "name=bbb state=absent"
    2. 192.168.17.105 | CHANGED => {
    3. "ansible_facts": {
    4. "discovered_interpreter_python": "/usr/bin/python"
    5. },
    6. "changed": true,
    7. "force": false,
    8. "name": "bbb",
    9. "remove": false,
    10. "state": "absent"
    11. }
    12. 192.168.17.106 | CHANGED => {
    13. "ansible_facts": {
    14. "discovered_interpreter_python": "/usr/bin/python"
    15. },
    16. "changed": true,
    17. "force": false,
    18. "name": "bbb",
    19. "remove": false,
    20. "state": "absent"
    21. }
    22. [root@localhost ~]#
    23. [root@localhost ~]# ansible group1 -m group -a "name=aaa state=absent"
    24. 192.168.17.105 | CHANGED => {
    25. "ansible_facts": {
    26. "discovered_interpreter_python": "/usr/bin/python"
    27. },
    28. "changed": true,
    29. "name": "aaa",
    30. "state": "absent"
    31. }
    32. 192.168.17.106 | CHANGED => {
    33. "ansible_facts": {
    34. "discovered_interpreter_python": "/usr/bin/python"
    35. },
    36. "changed": true,
    37. "name": "aaa",
    38. "state": "absent"
    39. }

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

    cron模块:

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

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

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

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

    vim /etc/crontab:

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

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

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

    创建一个案例:

    1. [root@localhost ~]# ansible group1 -m cron -a "name='cron1' user=root job='touch /tmp/222' minute=*/2 hour=1,3-5"
    2. 192.168.17.105 | CHANGED => {
    3. "ansible_facts": {
    4. "discovered_interpreter_python": "/usr/bin/python"
    5. },
    6. "changed": true,
    7. "envs": [],
    8. "jobs": [
    9. "cron1"
    10. ]
    11. }
    12. 192.168.17.106 | CHANGED => {
    13. "ansible_facts": {
    14. "discovered_interpreter_python": "/usr/bin/python"
    15. },
    16. "changed": true,
    17. "envs": [],
    18. "jobs": [
    19. "cron1"
    20. ]
    21. }
    1. [root@agent1 tmp]# crontab -l
    2. #Ansible: cron1
    3. */2 1,3-5 * * * touch /tmp/222

    删除cron:

    1. [root@localhost ~]# ansible group1 -m cron -a "name='cron1' state=absent"
    2. 192.168.17.105 | CHANGED => {
    3. "ansible_facts": {
    4. "discovered_interpreter_python": "/usr/bin/python"
    5. },
    6. "changed": true,
    7. "envs": [],
    8. "jobs": []
    9. }
    10. 192.168.17.106 | CHANGED => {
    11. "ansible_facts": {
    12. "discovered_interpreter_python": "/usr/bin/python"
    13. },
    14. "changed": true,
    15. "envs": [],
    16. "jobs": []
    17. }
    1. [root@agent1 tmp]# crontab -l
    2. [root@agent1 tmp]#

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

     这个思路需要掌握下。

  • 相关阅读:
    工业镜头的重要参数之视场、放大倍率、芯片尺寸--51camera
    超声波清洗机有没有平价又好用的推荐、平价好用超声波清洗机总结
    C++数据结构与算法:布隆过滤器(Bloom Filter)原理与实现
    C# 连接SQL Sever 数据库
    vue2知识点————(父子通信)
    图文详解 HDFS 的工作机制及其原理
    分布式日志部署
    PowerShell pnpm : 无法加载文件 C:\Users\lenovo\AppData\Roaming\npm\pnpm.ps1
    解决使用mitmprox抓包可以访问网页,但是使用python request 调用该网站接口报错问题
    如何准备一场Java面试?
  • 原文地址:https://blog.csdn.net/chang_chunhua/article/details/132581772