使用临时命令通过模块来执行任务一、查看系统上安装的所有模块ansible-doc -l
查看ping模块帮助文档ansible-doc ping
1、ansible模块文件模块:copy:将本地文件复制到受控主机file:设置文件的权限和其他属性lineinfile:确保特定行是否在文件中,也就是说修改文件内容synchronize:使用rsync同步内容
软件包模块package:使用操作系统本机的自动检测软件包管理器管理软件包yum:使用yum软件包管理器管理软件包apt:使用apt软件包管理器管理软件包dnf:使用dnf软件包管理器管理软件包pip:从PyPI管理Python软件包
系统模块firewalld:使用firewalld管理任意端口和服务reboot:重新启动计算机service:管理服务user:添加、删除和管理用户账户
Net Tools模块get_url:通过http、https或者ftp下载文件nmcli:管理网络uri:与WEB服务交互
语法:ansible bgx -m command -a 'df -h'命令 主机名称 指定模块 模块名称 模块动作 具体命令
执行的状态返回信息:绿色:执行成功并且不需要做改变的动作黄色:执行成功并且对目标主机做变更红色:执行失败
常用模块案例1:user
文章插图
临时命令使用user模块来确保newbie用户存在于node1.example.com上,并且其UID为4000
[galaxy@server ~]$ ansible server1 -m user -a 'name=newbie uid=4000 state=present'创建用户并指定密码,如果该用户存在,仍然修改密码
[galaxy@server ~]$ openssl passwd -1 linux$1$bChlQ4jX$97x50MlATs0PA6UsObqN1.[galaxy@server ~]$ ansible all -m user -a 'name=chenyu state=present password="$1$bChlQ4jX$97x50MlATs0PA6UsObqN1." update_password=always'创建用户并指定密码,但是如果改用户存在,则不修改密码
[galaxy@server ~]$ openssl passwd -1 redhat$1$zcVeWQiB$dIsAdkcv91mTjrCaayN3F/[galaxy@server ~]$ ansible all -m user -a 'name=chenyu12 state=present password="$1$zcVeWQiB$dIsAdkcv91mTjrCaayN3F/" update_password=on_create'案例2:shell临时命令使用shell模块来删除node1.example.com节点中的用户newbieansible server1 -m shell -a ‘userdel -r newbie’
案例3:copyansible webserver -m copy -a ‘src=https://www.huyubaike.com/etc/fstab dest=/var/tmp/fstab’
ansible webserver -m copy -a ‘src=https://www.huyubaike.com/etc/fstab dest=/var/tmp/fstab group=chenyu owner=chenyu’
文章插图
案例4:template模块---template模块用法和copy模块用法基本一致,它主要用于复制配置文件
文章插图
ansible all -m template -a 'src=https://www.huyubaike.com/usr/share/doc/httpd/httpd-vhosts.conf dest=/etc/httpd/conf.d/httpd-vhosts.conf group=root owner=root mode=0644 '
案例5:file 修改文件的权限属性和context值ansible webserver -m file -a 'path=/var/tmp/fstab mode=g+w mode=o+w group=galaxy owner=galaxy setype=samba_share_t'
mode:设置权限可以是mode=g+w 也可以是mode=666group:设置文件的所属组owner:设置文件的所有者setype:修改文件的context值
文章插图
新建文件ansible webserver -m file -a 'path=/var/tmp/bbb state=touch'
新建目录ansible webserver -m file -a 'path=/var/tmp/cc state=directory'
删除文件或者目录ansible webserver -m file -a 'path=/var/tmp/cc state=absent'
经验总结扩展阅读
- 这才是使用ps命令的正确姿势
- Ansible 批处理实战
- 小米手环6nfc使用体验_小米手环6nfc使用测评
- 如何正确使用容声冰箱 容声冰箱报价
- 秋天室内空调调制冷还是制热 秋天空调怎么使用好
- 空调秋天开什么模式好 秋季空调使用指南
- 秋天空调晚上一般开多少度为最适合 秋天空调使用指南
- CF中怎么改名(cf买了改名卡怎么使用)
- 使用LEFT JOIN 统计左右存在的数据
- ansible应用之安装elk框架