Linux_Ansible

【Ansible入门- YAML语法+Ansible模块】

2021-07-08  本文已影响0人  西布鲁克

YAML的语法规则:

第三方模块PyYAML可用于将YAML文件内容解析成python对象

pip install PyYAML

Ansible模块

工作原理

  1. 将模块拷贝到远程服务器
  2. 执行模块定义的操作
  3. 删除远程服务器模块

模块列表与帮助信息

# 查看ansible模块列表
ansible-doc -l
# 查看模块的的帮助信息
ansible-docl -l <模块名>

Ansible常用模块

  1. ping
    测试现有的ssh参数能否顺利连接hosts列表远程服务器

ansible test -m ping

  1. 远程命令模块

ansible test -m command -a "hostname"

ansible test -m raw -a "cat /etc/passwd | wc -l"

ansible test -m script -a "test.sh"

ansible test -m shell -a "/root/test.sh"

  1. file
    主要用于对远程服务器的文件进行操作,主要包括修改文件权限、修改所有者、创建文件、删除文件等。
    重要选项:
# 创建一个目录
ansible test -m file -a 'path=/tmp/dd state=directory mode=0755'
# 修改文件权限
ansible test -m file -a 'path=/tmpdd state=touch mode="u=rw,g=r,o=r"'
# 创建一个软链接
ansible test -m file -a 'src=/tmp/dd dest=/tmp/ddl owner=root group=root state=link'
# 修改文件的所有者
ansible test -m file -a 'path=/tmp/dd owner=root group=root mode=0644 -become'
  1. copy
    将主控点的文件或目录拷贝到远程服务器上,同时还可以设置拷贝完成后的文件或目录在远程服务器上的权限和所有者
    重要选项:
# 拷贝文件到远程服务器
ansible test -m copy -a 'src=test.sh dest=/tmp/test.sh'
# 拷贝文件如果存在则备份
ansible test -m copy -a 'src=test.sh dest=/tmp/test.sh backup=yes force=yes'
# 拷贝文件并修改权限
ansible test -m copy -a 'src=test.sh dest=/tmp/test.sh owner=root group=root mode=644 force=yes' -become
  1. user/group
    user模块请求的是useradd, userdel, usermod三个指令,goup模块请求的是groupadd, groupdel,groupmod三个指令。
    重要选项:
# 创建一个用户
ansible test -m user -a 'name=John comment="John Doe" uid=1329 group=root' -become
# 删除一个用户
ansible test -m user -a 'name=John state=absent' -become
# 
  1. apt
    apt模块用来在Debian/Ubuntu系统中安装软件、删除软件。
  2. get_url
    从互联网下载数据到本地,作用类似于Linux下的curl命令。
  3. unarchive
    unarchive模块用于解压文件,其作用类似于Linux下的tar命令。
  4. git
    git模块非常好理解,就是在远程服务器执行git相关的操作。
  5. stat
    stat模块用于获取远程服务器上的文件信息,其作用类似于Linux下的stat命令。
  6. cron
    cron是管理Linux下计划任务的模块。
  7. service
    service模块的作用类似于Linux下的service命令,用来启动、停止、重启服务。
  8. sysctl
    该模块的作用与Linux下的sysctl命令相似,用于控制Linux的内核参数。
  9. mount
    在远程服务器上挂载磁盘,当进行挂盘操作时,如果挂载点指定的路径不存在,将创建该路径。
  10. synchronize
    synchronize模块是对rsync命令的封装,以便对常见的rsync任务进行处理。

模块返回值

常见模块返回值如下:


模块返回值
上一篇 下一篇

猜你喜欢

热点阅读