Ansible学习笔记11

Command和Shell模块:

两个模块都是用于执行Linux命令的,这个对于命令熟悉的工程师来说,用起来非常high。

Shell模块跟Command模块差不多(Command模块不能执行一类$HOME、> 、<、| 等符号,但是Shell是可以的。)

示例一:

bash 复制代码
[root@localhost ~]# ansible group1 -m command -a "useradd test2"
192.168.17.106 | CHANGED | rc=0 >>

192.168.17.105 | CHANGED | rc=0 >>

检查结果:

删除用户:

bash 复制代码
[root@localhost ~]# ansible group1 -m command -a "userdel -r test2"
192.168.17.106 | CHANGED | rc=0 >>

192.168.17.105 | CHANGED | rc=0 >>

检查结果:

示例二:

示例三:

bash 复制代码
[root@localhost ~]# ansible group1 -m shell -a "cd $HOME; pwd"
192.168.17.106 | CHANGED | rc=0 >>
/root
192.168.17.105 | CHANGED | rc=0 >>
/root
[root@localhost ~]#

说明:其中有;也是Command和Shell模块的区别之一。

需要说明的是,Shell模块也不是百分之百的任何命令都可以,比如vim和ll命令别名命令就不可以。不建议大家去记忆哪些命令不可以,只要养成习惯,在生产环境中都要进行下测试的习惯就好了。

使用Shell和Command和Script模块,我们就能做很多事情。

相关推荐
奔跑的架构师32 分钟前
[A-50]ARMv9/v8-DVFS系统架构
linux·arm开发·架构·系统架构·arm
迷途呀39 分钟前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
赴生-1 小时前
Liunx 操作系统 进程概念(上)
linux
binqian1 小时前
【linux】OpenSSH升级文档
linux·运维·网络
吴声子夜歌1 小时前
Shell编程——if条件语句
linux·运维·shell
Dawn-bit2 小时前
Linux 运维基础扩展:跳板机、堡垒机与物理服务器全流程
linux·运维·服务器·云计算·运维开发
新时代牛马2 小时前
Linux 定时任务:crontab、anacron 与systemd timer
linux·运维·服务器
mounter6252 小时前
Linux 7.2 引入更灵活的块设备错误注入机制
linux·linux kernel·kernel·disk·error injection
cpolar技术支持3 小时前
Docker 容器启动失败怎么查?端口、日志、权限与网络排障完整教程
linux·docker·容器·cpolar·网络排障
布莱克6053 小时前
Linux 常用命令详解:从入门到实战
linux·运维·服务器