1. command 模块
  • 用于在目标主机上执行命令,类似于在命令行中直接输入命令。
  • 语法:ansible all -m command -a "your_command"
  • 例子:ansible all -m command -a "ls -l"
  1. shell 模块
  • 用于在目标主机上执行命令,与command模块类似,但是可以使用shell语法。
  • 语法:ansible all -m shell -a "your_command"
  • 例子:ansible all -m shell -a "ls -l | grep 'file_pattern'"
  1. cron 模块
  • 用于管理定时任务(Cron Job)。
  • 可以创建、删除或修改定时任务。
  • 语法:ansible all -m cron -a "name='taskname' minute='*/10' job='/path/to/command'"
  • 例子:ansible all -m cron -a "name='backup_task' minute='0' job='/bin/backup_script.sh'"
  1. user 模块
  • 用于管理系统用户,包括创建、删除、修改用户及其属性。
  • 语法:ansible all -m user -a "name=username state=present"
  • 例子:ansible all -m user -a "name=john state=present"
  1. group 模块
  • 用于管理系统用户组,包括创建、删除、修改用户组及其属性。
  • 语法:ansible all -m group -a "name=groupname state=present"
  • 例子:ansible all -m group -a "name=developers state=present"
  1. copy 模块
  • 用于将文件从控制节点复制到远程主机。
  • 可以指定源文件和目标文件的路径。
  • 语法:ansible all -m copy -a "src=/local/file/path dest=/remote/file/path"
  • 例子:ansible all -m copy -a "src=/tmp/file.txt dest=/etc/file.txt"
  1. file 模块
  • 用于管理文件和目录的属性,包括创建、删除、修改文件和目录的权限、所有者等。
  • 语法:ansible all -m file -a "path=/path/to/directory state=directory"
  • 例子:ansible all -m file -a "path=/var/log/nginx state=directory"
  1. hostname 模块
  • 用于设置目标主机的主机名。
  • 可以将目标主机的主机名更改为指定的值。
  • 语法:ansible all -m hostname -a "name=newhostname"
  • 例子:ansible all -m hostname -a "name=webserver"
  1. ping 模块
  • 用于测试目标主机的连通性。
  • 发送一个简单的ping请求并等待响应。
  • 语法:ansible all -m ping
  • 例子:ansible all -m ping
  1. yum 模块
  • 用于管理CentOS/RHEL系统上的软件包。
  • 可以安装、升级、删除软件包。
  • 语法:ansible all -m yum -a "name=package-name state=present"
  • 例子:ansible all -m yum -a "name=httpd state=present"
  1. service/systemd 模块
  • 用于管理系统服务的状态,可以启动、停止、重启、重新加载服务。
  • 语法:ansible all -m service -a "name=service-name state=started"
  • 例子:ansible all -m service -a "name=httpd state=started"
  1. script 模块
  • 用于在目标主机上执行脚本文件。
  • 可以执行任意的Shell脚本。
  • 语法:ansible all -m script -a "/path/to/script.sh"
  • 例子:ansible all -m script -a "/opt/scripts/setup.sh"
  1. setup 模块
  • 用于收集目标主机的系统信息,比如操作系统、内存、CPU等。
  • 可以用于在Playbook中收集目标主机的事实(facts)信息。
  • 语法:ansible all -m setup
  • 例子:ansible all -m setup