用于在远程主机执行命令;不能使用变量,管道等
ansible all -a 'date'
month 指定月份 minute 指定分钟 job 指定任务 day 表示那一天 hour 指定小时 weekday 表示周几 state 表示是添加还是删除 present:安装 absent:移除
ansible webserver -m cron -a 'minute="*/10" job="/bin/echo hello" name="test cron job"' #不写默认都是*,每个任务都必须有一个名字 ansible webserver -a 'crontab -l' ansible webserver -m cron -a 'minute="*/10" job="/bin/echo hello" name="test cron job" state=absent' #移除任务
name 用户名 uid uid state 状态 group 属于哪个组 groups 附加组 home 家目录 createhome 是否创建家目录 comment 注释信息 system 是否是系统用户
ansible all -m user -a 'name="user1"' ansible all -m user -a 'name="user1" state=absent'
gid gid name 组名 state 状态 system 是否是系统组
ansible webserver -m group -a 'name=mysql gid=306 system=yes' ansible webserver -m user -a 'name=mysql uid=306 system=yes group=mysql'
src 定义本地源文件路径 dest 定义远程目录文件路径(绝对路径) owner 属主 group 属组 mode 权限 content 取代src=,表示直接用此处的信息生成为文件内容
yum -y install libselinux-python ansible all -m copy -a 'src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640' ansible all -m copy -a 'content="hello ansible\nHi ansible" dest=/tmp/test.ansible'
path|dest|name 对那个文件做设定 创建文件的符号链接: src: 指定源文件 path: 指明符号链接文件路径
ansible all -m file -a 'owner=mysql group=mysql mode=644 path=/tmp/fstab.ansible' ansible all -m file -a 'path=/tmp/fstab.link src=/tmp/fstab.ansible state=link'
ansible all -m ping
enabled 是否开机自动启动 name 指定服务名 state 指定服务状态 started 启动服务 stoped 停止服务 restarted 重启服务 arguments 服务的参数
ansible webserver -m service -a 'enabled=true name=httpd state=started'
尤其是用到管道变量等功能的复杂命令
ansible all -m shell -a 'echo magedu | passwd --stdin user1'
ansible all -m script -a '/tmp/test.sh'
name 程序包名称(不指定版本就安装最新的版本latest) state present,latest表示安装,absent表示卸载
ansible webserver -m yum -a 'name=httpd' ansible all -m yum -a 'name=ntpdate' #默认就是安装 ansible all -m yum -a 'name=ntpdate state=absent'
每个被管理节点在接受并运行管理命令之前,会将自己主机相关信息,如操作系统版本,IP地址等报告给远程的ansible主机
ansible all -m setup