1、copy模块
拷贝文件的模块。
参数:
src : 本地需要复制的文件的路径
dest : 复制到远程的某一个路径
owner :指定属主
group : 指定属组
mode : 设置权限的
backup : 是否备份
content : 指定文件内容
follow : 是否处理软连接
2、file模块
创建文件。
参数:
path : 需要创建的文件路径
owner :指定属主
group : 指定属组
mode : 设置权限的
state :状态
link : 软连接
src : 源文件地址
dest: 软连接地址
touch : 创建文件
directory : 创建目录
absent : 删除
recurse :递归授权
3、service
用来管理系统服务。
参数:
name : 指定需要操作服务的名称
state:
started
stopped
restarted
reloaded
enabled :开机自启动
4、systemd
用来管理系统服务。但是systemd底层需要systemd服务来支撑,没有systemd的操作系统无法使用。
5、group模块
用来管理用户组
参数:
name: somegroup
state:
present
absent
gid: 666
6、user模块
用来管理用户
参数:
name
comment
uid
group
shell
/bin/bash
/sbin/nologin
state
absent
present
remove
create_home
true
false
7、cron模块
定时任务管理模块。
参数:
name
minute
hour
day
month
weekday
job
state
present
absent
disabled
yes
no
8、mount
挂载文件系统。
参数:
path
src
fstype
opts
state
present
unmounted
mounted
absent
9、selinux
用来管理系统selinux
参数:
state: disabled
10、firewalld
操作firewalld防火墙模块。
参数:
service:指定服务
permanent:是否永久生效
state:
enabled :允许通过
port:指定端口的
rich_rule:附加规则
source:指定网段
interface:指定网卡
masquerade:是否开启IP伪装
11、archive
压缩模块
参数:
path: /path/to/foo
dest: /path/to/foo.tgz
format:gz
12、unarchive解压模块
解压模块
参数:
src
dest
remote_src
yes
no
13、setup
获取控制端信息的模块
14、案例
1、上传代码
ansible web01 -m unarchive -a "src=/root/mario.tar.gz dest=/usr/share/nginx/html remote_src=no"
2、安装nginx
ansible web01 -m yum -a "name=nginx state=present"
3、启动Nginx
ansible web01 -m service -a "name=nginx state=started"
[root@localhost ~]
total 148
-rwxr-xr-x. 1 root root 3956 Feb 21 15:21 init.sh
-rw-r--r-- 1 root root 146052 Feb 20 15:35 mario.zip
[root@localhost ~]
[root@localhost ~]
[root@localhost html5-mario]
[root@localhost html5-mario]
上传代码
[root@localhost ~]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?