软件发布网站源码,遂宁北京网站建设,wordpress 单页面 主题,青海省建设厅网站地址目录
一.运行临时命令
1.基本语法格式
2.查看当前版本已安装的所有模块
二.ansible常见模块
1.command模块
2.shell模块
3.raw模块
4.script模块
5.file模块
参数列表#xff1a;
示例#xff1a;
6.copy模块
参数列表#xff1a;
示例#xff1a;
7.fetch模…目录
一.运行临时命令
1.基本语法格式
2.查看当前版本已安装的所有模块
二.ansible常见模块
1.command模块
2.shell模块
3.raw模块
4.script模块
5.file模块
参数列表
示例
6.copy模块
参数列表
示例
7.fetch模块
参数列表
示例
8.yum/apt/dnf
参数列表
示例
9.service模块
参数列表
示例
10.systemd模块
11.get_url
参数列表
12.cron模块
参数列表
13.user模块
参数列表
示例
14.Archive打包压缩/unarchive解包解压模块 一.运行临时命令
1.基本语法格式
ansible 主机/组 -m 模块名称 -a 模块参数 其他选项
#使用ping模块来测试节点连通性
[studentworkstation ~]$ ansible servera -m ping
servera | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/libexec/platform-python},changed: false,ping: pong
}
[studentworkstation ~]$ ansible servera -m ping -o #-o使输出在一行
servera | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/libexec/platform-python},changed: false,ping: pong}
2.查看当前版本已安装的所有模块
[studentworkstation ~]$ ansible-doc -l | wc -l
2834[studentworkstation ~]$ ansible-doc ping
#直接使用ansible-doc 模块名来获取模块使用帮助可以在查看后搜索/EXAMPLES来查看示例
[studentworkstation ~]$ ansible-doc -s ping #查看模块用法和后接参数 二.ansible常见模块
1.command模块
1通过-a后面跟上需要运行的命令直接执行但命令行不能包含“|”不指定模块时默认执行command模块
[studentworkstation ~]$ ansible servera -m command -a free -m
servera | CHANGED | rc0 total used free shared buff/cache available
Mem: 821 222 366 11 232 464
Swap: 0 0 0
2参数简介
chdir切换目录
[studentworkstation ~]$ ansible servera -m command -a chdir/etc pwd
servera | CHANGED | rc0
/etc
creates文件存在时后方接的命令不会执行
[studentworkstation ~]$ ansible servera -m command -a createsaaa.txt ls
#不存在aaa.txtls命令执行
servera | CHANGED | rc0
anaconda-ks.cfg
original-ks.cfg
removes文件不存在时后方接的命令不会执行
[studentworkstation ~]$ ansible servera -m command -a removesaaa.txt ls
#不存在aaa.txtls命令跳过执行
servera | SUCCESS | rc0
skipped, since aaa.txt does not exist
2.shell模块
同command基于/bin/bash执行命令可以支持“|”
[studentworkstation ~]$ ansible servera -m shell -a free -m | grep Swap
servera | CHANGED | rc0
Swap: 0 0 0
free_form要执行的linux命令
executable切换执行shell绝对路径来执行命令
3.raw模块
同command和shell可以执行含特殊符号的命令但raw模块没有chdircreatesremoves等参数
[studentworkstation ~]$ ansible-doc -s raw
- name: Executes a low-down and dirty commandraw:executable: # Change the shell used to execute the command. Should be an absolute path to the executable. When using privilege escalation (become) a default shellwill be assigned if one is not provided as privilege escalation requires a shell.free_form: # (required) The raw module takes a free form command to run. There is no parameter actually named free form; see the examples!
4.script模块
在受管节点上执行管理节点的shell把shell从管理节点复制到受管节点再在受管节点上运行
[studentworkstation ~]$ cat date.sh
#!/bin/bash
date /date.txt
[studentworkstation ~]$ ansible servera -m script -a /home/student/date.sh
#将管理节点的shell脚本文件复制到servera上执行并查看是否执行成功
servera | CHANGED {changed: true,rc: 0,stderr: Shared connection to servera closed.\r\n,stderr_lines: [Shared connection to servera closed.],stdout: ,stdout_lines: []
}
[studentworkstation ~]$ ansible servera -m shell -a cat /date.txt
servera | CHANGED | rc0
Sat Oct 14 04:09:17 GMT 2023 #执行成功
5.file模块
主要用于创建、删除文件或目录修改权限等
参数列表
path必要参数指定文件或目录也可以使用dest或name旧版本替换
state可以有touch文件、directory目录、link软链接、hard硬链接、absent删除几个可选项主要用来进一步确认你操作的对象的文件属性
src操作对象为link或hard并且state指定了link或hard时使用src来指定链接的来源
forcestatelink时使用force强制创建链接文件使用于三种情况src指向的源文件在创建链接前不存在可以先强制创建链接文件存放链接文件的目录内存在同名文件可以使用forceyes实现删除同名文件再创建链接文件前两种情况都有的情况下使用forceyes会强制替换同名文件为创建的链接文件
owner指定文件拷贝到受管节点后的属主前提是要先有这个用户
group指定文件拷贝到受管节点后的属组前提是要先有这个组
mode指定文件拷贝到受管节点后的权限一般多采用“mode权限数值”方式
recurse操作对象为目录时会递归操作该目录
示例
[studentworkstation ~]$ ansible servera -m file -a path/tmp/abc.txt statetouch
servera | CHANGED {ansible_facts: {discovered_interpreter_python: /usr/libexec/platform-python},changed: true,dest: /tmp/abc.txt,gid: 0,group: root,mode: 0644,owner: root,secontext: unconfined_u:object_r:user_tmp_t:s0,size: 0,state: file,uid: 0
}
[studentworkstation ~]$ ansible servera -m shell -a ls /tmp | grep abc.txt
servera | CHANGED | rc0
abc.txt
6.copy模块
主要用于将管理节点文件拷贝到受管节点
参数列表
src指定被copy的目录或文件
dest指定被copy文件的目的目录必要参数
content被copy内容非src指定文件时使用content直接指定文件内容src和content两者必要一个
force受管节点路径下已经有同名文件但两者内容不同选择是否强制覆盖默认为yes
backup受管节点路径下已经有同名文件但两者内容不同选择是否对受管节点的该文件进行备份
owner指定文件拷贝到受管节点后的属主前提是要先有这个用户
group指定文件拷贝到受管节点后的属组前提是要先有这个组
mode指定文件拷贝到受管节点后的权限一般多采用“mode权限数值”方式
示例
[studentworkstation ~]$ cat list
servera
[studentworkstation ~]$ ansible servera -m copy -a src/home/student/list dest/tmp/
servera | CHANGED {ansible_facts: {discovered_interpreter_python: /usr/libexec/platform-python},changed: true,checksum: 8e723f6a40d561529bae71445d9a60fbd8185fc6,dest: /tmp/list,gid: 0,group: root,md5sum: b891602b9b8b0a41ffd86c15b171ea56,mode: 0644,owner: root,secontext: unconfined_u:object_r:admin_home_t:s0,size: 8,src: /root/.ansible/tmp/ansible-tmp-1697267810.5263553-92157951653798/source,state: file,uid: 0
}
[studentworkstation ~]$ ansible servera -m shell -a cat /tmp/list
servera | CHANGED | rc0
servera
#注意若是对目录进行拷贝操作src接的路径最后没有/表示连同目录一起拷贝路径最后有/表示只拷贝该目录下的文件并不拷贝目录
7.fetch模块
主要用于将受管节点的文件拷贝到管理节点
参数列表
dest拷贝到管理节点的路径
src从受管节点的哪个路径拷贝
flat选择是否拷贝受管节点上该文件的目录结构yes为不拷贝结构
示例
#拷贝默认目录结构
[studentworkstation ~]$ ansible servera -m fetch -a src/tmp/abc.txt dest/home/student
servera | CHANGED {changed: true,checksum: da39a3ee5e6b4b0d3255bfef95601890afd80709,dest: /home/student/servera/tmp/abc.txt,md5sum: d41d8cd98f00b204e9800998ecf8427e,remote_checksum: da39a3ee5e6b4b0d3255bfef95601890afd80709,remote_md5sum: null
}
[studentworkstation ~]$ ll
total 16
-rw-rw-r--. 1 student student 238 Oct 12 13:27 ansible.cfg
-rw-rw-r--. 1 student student 29 Oct 14 04:06 date.sh
-rw-rw-r--. 1 student student 8 Oct 12 09:34 list
-rw-rw-r--. 1 student student 105 Oct 12 13:33 myhosts1
drwxrwxr-x. 3 student student 17 Oct 14 07:36 servera
[studentworkstation ~]$ tree servera
servera
└── tmp└── abc.txt
1 directory, 1 file
#不拷贝目录结构拷过来直接就是文件
[studentworkstation ~]$ ansible servera -m fetch -a src/tmp/abc.txt dest/home/student/ flatyes
servera | CHANGED {changed: true,checksum: da39a3ee5e6b4b0d3255bfef95601890afd80709,dest: /home/student/abc.txt,md5sum: d41d8cd98f00b204e9800998ecf8427e,remote_checksum: da39a3ee5e6b4b0d3255bfef95601890afd80709,remote_md5sum: null
}
[studentworkstation ~]$ ll
total 16
-rw-rw-r--. 1 student student 0 Oct 14 07:48 abc.txt
-rw-rw-r--. 1 student student 238 Oct 12 13:27 ansible.cfg
-rw-rw-r--. 1 student student 29 Oct 14 04:06 date.sh
-rw-rw-r--. 1 student student 8 Oct 12 09:34 list
-rw-rw-r--. 1 student student 105 Oct 12 13:33 myhosts1
#注意一个报错
msg: dest is an existing directory, use a trailing slash if you want to fetch src into that directory
flatyes时目录已存在需要在目录后加个斜杠
8.yum/apt/dnf
主要用于软件包管理
参数列表
name进行操作的软件包名可以是本地rpm包路径也可以是网络文件url地址
state可选项present安装absent删除latest更新
示例
[studentworkstation ~]$ ansible servera -m yum -a namebind statepresent
servera | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/libexec/platform-python},changed: false,msg: Nothing to do,rc: 0,results: [Installed: bind]
}
[studentworkstation ~]$ ansible servera -m yum -a namehttpd statelatest
#更新某个包
9.service模块
主要用于各种服务的设置
参数列表
enabledyes/no是否开机自启动
name服务名称
state可选项startedstoppedrestartedreloaded
daemon_reloadyes/no是否配置文件重载
示例
[studentworkstation ~]$ ansible servera -m service -a namehttpd statestarted
10.systemd模块
主要用于服务配置文件变化后的服务管理
参数和用法同service模块
11.get_url
主要用于从http/httpsftp等服务器上下载资源可以理解为linux上的wget命令
参数列表
sha256sum下载完成后进行完整性验证
timeout超时时间默认10秒
url指定url地址url地址
urlpassword/urlusername验证用户密码和名称
use_proxy使用代理
owner指定属主
group指定属组
12.cron模块
主要用于计划任务管理
参数列表
name自定义名称尽量贴近任务内容
minute多少分钟*/2表示每两分钟
hour时
day日
month月
weekday周几
state可选项present创建absent删除
job需要执行的具体任务在statepresent的前提下
backup是否在做计划任务前对原本内容进行备份
user以哪个用户的身份来执行
13.user模块
主要用于用户管理user与group模块用法类似
参数列表
name指定用户名
uid指定该用户uid
group指定该用户所属组私有组
groups指定该用户附加组
state可选项present创建absent删除
remove当stateabsent时remove表示将该用户的家目录一起删除
password指定密码
home家目录位置
createhomeyes/no是否创建家目录
shellshell类型
示例
[studentworkstation ~]$ ansible servera -m user -a namesulibao statepresent passwordslb123
[studentworkstation ~]$ ansible servera -m shell -a cat /etc/passwd | grep sulibao
servera | CHANGED | rc0
sulibao:x:1002:1002::/home/sulibao:/bin/bash
[studentworkstation ~]$ ansible servera -m shell -a cat /etc/shadow | grep sulibao
servera | CHANGED | rc0
sulibao:slb123:19645:0:99999:7:::
14.Archive打包压缩/unarchive解包解压模块
参数列表
copyyes/noyes将管理节点上的压缩包传送到受管节点后解压至特定目录no将受管节点的压缩包解压到指定路径下
src原路径若是受管节点的路径需要设置copyno
dest受管节点的目标路径
mode压缩文件解压后权限设置