一、copy
用于控制端向被控制端传输文件。该模块有常用的5个参数:
- src:指定源路径
- dest:指定目标路径
- onwer:指定文件的属主
- group:指定文件的属组
- mode:指定文件的权
copy模块示例:
ansible 10.10.192.21 -m copy -a "src=/root/test.sh dest=/root/test.sh owner=root group=root mode=0600"
二、file
Ansible的file模块主要用于设置Ansible被控制客户端的文件属性。file模块有2个常见参数:
- path:指定被控端目标文件
- mode:指定要被设定的属性
file模块示例:
ansible 10.10.192.21 -m file -a "path=/root/test.sh mode=0777"
三、stat
stat模块主要用于获取被控端的文件属性信息。该模块主要有path参数用于指定被控客户端的文件。Ansible的stat模块使用如下:
ansible 10.10.192.21 -m stat -a "path=/root/test.sh"
四、get_url
get_url模块用于被控客户端从远程将文件下载到本地。该模块有四个常用参数:
- url:指定被控客户端要远程下载的文件
- dest:指定目的文件夹
- mode:指定下载后的文件权限
- force:可以为yes或者是no。如果force参数为yes,则表示如果所下载的内容和原目录下的文件内容不一样,则下载并替换原文件,如果相同,则不进行下载;如果force参数为no,则不管目录下的同名文件是否相同,只有在目标不存在时才下载文件。该参数默认为no。在生产环境中,一般小文件的下载选用yes。
该模块使用如下:
ansible user_passwd -m get_url -a "url=http://10.10.130.10:8001/init.sh dest=/root/ mode=0644 force=yes"
五、yum
YUM模块主要用于控制客户端采取YUM的方式安装软件,该模块有两个常用参数:
- name:指定Ansible要安装的软件名称
- state:可以是latest、present、installed表示安装,removed和absent表示卸载。
YUM模块使用如下:
ansible user_passwd -m yum -a "name=tree state=installed"
六、cron
Ansible的常用参数:
- name:表示给该定时任务命名
- minute:指定该定时任务的间隔
- job:指定了具体的操作。
Ansible的cron模块使用如下:
ansible user_passwd -m cron -a "name='user_passwd' minute='*/1' job='pwd'"
被控端定时任务:
七、service
service模块主要用于控制被控端主机的服务开启情况。该模块有两个常用参数:
- name:指定了要管理的服务名称
- state:指定了要对指定服务进行的操作,可以使started(开启)、stopped(停止)、restarted(重启)、reloaded(平滑重启)。
该模块使用如下所示:
ansible user_passwd -m service -a "name=httpd state=started"