-
ansible常用模块
-
Command:在远程主机执行命令,默认模块。可忽略-m选项 ansible [主机IP或组名] -m
command -a ‘要执行的命令’ 此命令不支持¥HOMENAME <> | ; &等符号,要用shell模块实现 -
Shell:和Command相似,用shell执行命令 ansible [主机IP或组名] -m shell -a ‘要执行的命令’
调用bash执行命令,类似cat /tmp/stanley.md | awk -F ‘|’ ‘{print $1,$2}’
&> /tmp/example.txt这些复杂的命令,即使用shell也可以会失败,解 决办法:写到脚本时,copy到远程,执行,再把需要的结果拉回执行命令 的机器 -
Script:运行脚本
-a “/PATH/TO/SCRIPT_FILE” ansible [主机IP或组名]
-m script -a [脚本文件] -
-Copy:从服务器复制文件到客户端
ansibel [主机IP或组名] -m copy -a “src=[服务器文件路径] dest=[客户端文件路径] owner=user mode=755 backup=yes” 如果目标存在,默认覆盖,此处指定先备份
ansible [主机IP或组名] -m copy -a “conrent=‘文件内容’ dest=[客户端文件路径]”
写好文件内容,直接生成目标文件 -
Fetch:从客户端取文件至服务器段,copy相反,目录可先tar
ansible [主机IP或组名] -m fatech -a ‘src=[客户端文件路径] dest=[服务器文件路径]’ -
Flie:设置文件属性
ansible [主机IP或组名] -m file -a “path=/root/a.sh owner=user1 mode=755”
ansible all -m file -a ‘name=/home/f3 state=touch’#创建文件f3
ansible all -m file -a ‘name=/home/f3 state=absent’#删除文件f3
ansible all -m file -a ‘name=/home/dir1 state=directory’#创建dir1目录
ansible all -m file -a ‘name=/home/dir1 state=absent’ #删除dir1目录
ansible all -m file -a ‘src=/etc/fstab dest=/home/fstab.link state=link’#创建软连接
ansible all -m file -a ’ dest=/home/fstab.link state=absent’#删除软连接 -
Hostname:管理主机名
ansible [主机ip] -m hostname -a ‘name=test.hostname’#修改主机名 -
Cron:计划任务
ansible all -m cron -a ‘minute=* weekday=2,4,6 job="/usr/bin/wall FBI warning" name=warningcron’ #设置计划任务
ansible all -m cron -a ‘disable=yes job="/usr/bin/wall FBI warning" name=warningcron’ #禁用计划任务
ansible all -m cron -a ‘disable=no job="/usr/bin/wall FBI warning" name=warningcron’ #启用计划任务
ansible all -m cron -a ’ job="/usr/bin/wall FBI warning" name=warningcron state=absent’ #删除计划任务 -
Yum管理包
ansible all -m yum -a ‘name=vsftpd’ #安装vsftpd软件
ansible 192.168.1.83 -m yum -a ‘list=installed’#查看安装好的yum包
ansible all -m yum -a ‘name=vsftpd state=absent’#卸载yum包
ansible all -m shell -a ‘rpm -q vsftpd’#查看是否安装软件
ansible all -m yum -a ‘name=dstat update_cache=yes’#更新软件缓存 -
Service:管理服务
ansible all -m service -a “name=vsftpd state=started enabled=yes”#开启服务并设置自动启动,systemctl is-enabled vsftpd查看是否设置成功
ansible all -m service -a “name=vsftpd state=restarted”#重启服务
ansible all -m service -a “name=vsftpd state=stopped”#停止服务 -
User:管理用户
ansible all -m user -a ‘name=nginx shell=/sbin/nologin system=yes home=/var/nginx groups=root,bin uid=80 comment=“nginx service”’#创建nginx用户并设置所属组,uid及描述。
ansible all -a ‘getent passwd nginx’#检查是否创建成功
ansible all -a ‘ls /var/nginx’ #检查是否创建成功
ansible all -m user -a ‘name=nginx state=absent remove=yes’#删除用户 -
gruop:管理组
ansible all -m group -a ‘name=nginx system=yes gid=80’#创建用户组
ansible all -a ‘getent group nginx’#检查是否创建成功
ansible all -m group -a ‘name=nginx state=absent’#删除用户组
ansible学习之四:常用模块
最新推荐文章于 2024-03-09 13:59:58 发布