ansible模块

command模块

作用:执行一个命令在远程节点上
参数说明:
chdir:在执行命令之前,通过cd命令进入到指定目录中
creates:定义一个文件是否存在,如果不存在,则运行相应命令,如果存在则跳过
removes:定义一个文件是否存在,如果存在,则运行相应命令,如果不存在则跳过
参数实践:
ansible rsync_s -m command -a 'uptime'
ansible rsync_s -m command -a 'chmod 000 /yum.sh warn=False'
tips:-m指定使用的模块
     -a指定使用模块中的命令参数
#tips:此命令默认可以不用-m指定模块信息,并且需要注意在使用的时候,命令终不能包含变量类似$HOME和参数类似">""<""|"and"&"

shell模块

作用:执行一个命令在远程节点上(可以执行带“<”,“>”,变量等命令)
参数说明:
chdir:在执行命令之前,通过cd命令进入到指定目录中
creates:定义一个文件是否存在,如果不存在,则运行相应命令,如果存在则跳过
removes:定义一个文件是否存在,如果存在,则运行相应命令,如果不存在则跳过
参数实践:
ansible rsync_s -m shell -a 'hostname;uptime'
ansible rsync_s -m shell -a '/server/scripts/yum..sh'
#tips:在利用shell模块实现批量执行远程主机脚本时,脚本必须在远程主机上存在,并且有执行权限

script模块

作用:远程节点上运行本地脚本模块
参数说明:
creates:定义一个文件是否存在,如果不存在,则运行相应命令,如果存在则跳过
removes:定义一个文件是否存在,如果存在,则运行相应命令,如果不存在则跳过
#tips:不受变量和参数类似"<"">"的影响
参数实践:
ansible rsync_s -m script -a "/server/scripts/yum.sh"
#tips:利用script远程执行主机脚本时,脚本不用在远程主机上存在和授权

copy模块

作用:复制文件到远程主机
参数说明:
src:本地路径文件复制到远程服务器
dest:文件应该被拷贝到的远程绝对路径信息,如果src是一个目录,那么,dest也必须是一个目录
owner:定义所拥有的文件/目录的所属用户名称,类似chown命令功能
group:   定义所拥有的文件/目录的所属组名称,类似chown命令功能
mode:定义文件或目录的权限信息
backup:创建备份文件并且包含时间戳信息,以便能够还原原文件,默认为no。
content:当使用src参数时,将文件的内容直接设置为指定值,远端创建有指定内容的文件,并且只能设置简单值。
force:默认yes,当远程文件内容和源文件内容不同时,将覆盖目标文件。
#tips:   copy模块是远程推送数据模块,只能讲数据推送到远程主机上,不能实现拉取数据到本地管理主机
参数实践:
ansible rsync_s -m copy -a 'src=/etc/passwd dest=/tmp/passwd owner=rsync group=rsync mode=0644'
ansible rsync_s -m copy -a 'src=/etc/passwd dest=/tmp/passwd owner=rsync group=rsync backup=yes'

file模块

作用:设置文件属性
参数说明:
src:本地路径文件复制到远程服务器
path:文件路径管理:别名方式dest:name
owner:定义所拥有的文件/目录的所属用户名称,类似chown命令功能
group:   定义所拥有的文件/目录的所属组名称,类似chown命令功能
mode:定义文件或目录的权限信息
state:如果指定参数为directory
      #如果不存在子目录将会被创建
       如果指定参数为touch
      #如果路径不存在,将会创建一个空文件
       如果指定参数为absent
      #目录将被递归删除以及文件,而链接将会被取消链接
      #如果定义文件不存在不会失败,只是输出没有任何变化的结果
参数实践:
ansible rsync_s -m file -a 'dest=/tmp/test_dir state=directory'
ansible rsync_s -m file -a 'dest=/tmp/test_file state=touch'
ansible rsync_s -m file -a 'src=/etc/hosts dest=/tmp/link_file state=link'

service/systemd模块

作用:主要以控制服务为主
参数说明:
name:定义所要管理的服务名称
enable:确认服务是否开机自启
state:started/stopped 开启/关闭
       restarted 重启操作
       reloaded 平滑重启
参数实践:
ansible rsync_s -m service/systemd -a 'name=crond state=stop enabled=yes/true'

cron模块

作用:管理定时任务条目信息模块
参数说明:
格式:minute  hour  day  month  weekday  job'***************** 2>&1'
name:定时任务的描述信息
state:创建定时任务或删除定时任务
user: 指定修改与编写定时任务的用户信息
参数实践:
ansible rsync_s -m cron -a "name='Service Time ' job='/bin/touch /tmp/$(date +%F%T_%w)'.txt minute=1"
ansible rsync_s -m cron -a "name='Service Time ' state=absent"

mount模块

作用:用于挂载
参数说明:
present :不会当即挂载,但会写入/etc/fstab 
mounted:会当即挂载,并把信息写入/etc/fstab
unmounted:卸载不清除/etc/fstab
absent: 卸载会清除/etc/fstab
参数实践:
ansible rsync_s -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=present"
ansible web -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=mounted"

user模块

作用:复制文件到远程主机
参数说明:
uid :指定用户的uid
group :指定用户组名称
groups : 指定附加组名称
password : 给用户添加密码
shell : 指定用户登录shell
create_home : 是否创建家目录
参数实践:
ansible rsync_s -m user -a “name=oldgirl uid=888 group=888 shell=/sbin/nologin create_home=no”
ansible rsync_s -m user -a ‘name=666'

你可能感兴趣的:(ansible模块)