
==============================================================
ansible 主机信息(可以是组) -m 模块名称 -a "完成动作"
举例:
在ansible中 使用ansible-doc <模块名称>来查看单独模块用法
常用参数
官方模块说明: https://docs.ansible.com/ansible/latest/modules/command_module.html#command-module
参数:宴州chdir--在执行命令 *** 作前进行切换目录
参数:creates--判断一个文件是否存在,如果存在后面的命令就不会执行
参数:removes--判断一个文件是否存在,如果不存在,后续的命令不会被执行
官方模块说明: https://docs.ansible.com/ansible/latest/modules/shell_module.html#shell-module
参数chdir:在执行命令前进行目录切换
参数:creates----判断一个文件是否存在,如果存在,后续命令不会执行
参数:removes--判断一个文件是否存在,如果不存在则候命的命令不会执行
官网模猜毕块说明: https://docs.ansible.com/ansible/latest/modules/script_module.html#script-module
使用这个模块需要注意的
官方模块说明: https://docs.ansible.com/ansible/latest/modules/yum_module.html#yum-module
参数:name--指定安装软件的名称
参数:state--指定软件安装或卸载
在这个模块中卸载使用 removed 安装使用installed注意看示例
官网模块说明: https://docs.ansible.com/ansible/latest/modules/service_module.html#service-module
官网模块说明: https://docs.ansible.com/ansible/latest/modules/copy_module.html#copy-module
参数:src--指定管理端源数据
参数:dest--分发到远程主机的目标路径下
参数:owner--专属文件之后修改文件属主
参数:group--传输文件之后修改文件属组
参数:mode--修改文件的读、写、执行穗祥芹权限
参数:backup--在分发传输文件之前,将源文件进行备份,按照时间信息进行备份
参数remote_src--no表示从管理端找寻数据进行分发yes 默认从被管理端找寻数据进行分发
参数content--分发文件时在文件中穿件简单信息
官网模块说明: https://docs.ansible.com/ansible/latest/modules/fetch_module.html#fetch-module
参数:src--要拉取的远程数据
参数:dest--要保存本地的文件路径
官方说明: https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module
path:指定路径信息
owner:传输文件之后修改文件属主权限
group:传输文件后修改属组权限
mode:直接修改文件读、写、执行权限
state:touch(创建文件)、directory(创建目录)、hard(创建硬链接文件) link(创建软链接文件)、absent(删除数据)
创建件目录:
创建文件:
删除数据信息:
官方说明: https://docs.ansible.com/ansible/latest/modules/mount_module.html#mount-module
参数:src--指定要挂载数据
参数:path--指定挂载点
**参数:fstype--指定挂载后,文件系统类型 如:ext3、ext4、xfs、nfs **
参数:state--指定动作 如:mounted(挂载)、present(永久挂载)、umounted(临时卸载) absent(永久卸载)
挂载:
官方说明: https://docs.ansible.com/ansible/latest/modules/cron_module.html#cron-module
name: 定义定时任务注释信息
参数:minute --表示分钟信息
参数:hour --表示小时信息
参数:day --表示日期信息
参数:month --表示月份信息
参数:weekday --表示星期信息
参数:job --表示定义任务信息
参数:state --指定动作 如:present(创建定时任务)、absent(删除定时任务)
参数:disabled: 让定时任务临时失效
利用ansible编写时间同步定时任务:每隔5分钟,进行时间同步:
删除定时任务:
注释定时任务:
官网说明: https://docs.ansible.com/ansible/latest/modules/group_module.html#group-module
参数:name--指点组名
参数:gid--指定gid
参数:state--指定动作 present(创建) absent(删除)
官方说明: https://docs.ansible.com/ansible/latest/modules/user_module.html#user-module
参数:name--指定用户名称
参数:uid--指定用户uid信息
参数:group--指定属组
参数:groups--指定属于附加组
参数:password—-指定用户密码信息(必须密文的信息)
参数:shell—-指定用户shell信息 /sbin/nologin
参数:create_home--no表示不创建家目录
创建用户:
删除用户:
**方法一:利用ansible模块功能
ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha512', 'mysecretsalt') }}"
mypassword: 指定明文密码信息
mysecretsalt:加密计算方式(辅助加密)
方法二:利用python模块功能
使用这种方法需要安装python-pip
如果安装不上需要更新pip源,更新方法:
更新pip源:
==============================================================
Linux
unarchive模块:
功能:解压缩,这个模块有两种用法:
1、将ansible主机上的压缩包在本地解压缩后传到远程主机上,这种情况下,copy=yes. 本地解压缩,解压缩位置不是默认的目录,没找到或传完删了 后传到远程主机
2、将远程主机上的某个压缩包解压缩到指定路径下。这种情况下,需要设置copy=no 远程主机上面的 *** 作,不涉及ansible服务端
参数:
copy:默认为yes,当copy=yes,那么拷贝的文件是从ansible主机复制到远程主机上的,如果设置为copy=no,那么会在远程主机上寻找src源文件
src:源路径,可以是ansible主机上的路径,也可以是远程主中明机上的路径,如果是远程主机上的路径,则需要设置copy=no
dest:远程主机上的目标路径
mode:设置解压缩后的文件权限
命令演示:
在远程主机上解压文件并设置权限:
ansible all -m unarchive -a 'src=/缓数srv/tomcat8/apache-tomcat-8.0.29.tar.gz dest=/usr/local copy=no mode=0755'
解压ansible管理机上的压缩文件到远程主机扰培首并设置权限:
ansible all -m unarchive -a "src=/tmp/install/zabbix-3.0.4.tar.gz dest=/tmp/ mode=0755 copy=yes"
script模块将管理节点上的脚本传递到被管理节点执行
首先我们造一个脚本
copy模块
copy主要用于管理节点和被管理节点之间的文件拷贝
常用参数:
src 指定拷芦仔扮贝文件的源地址
dest 指定拷贝文件的目标地址
backup 拷贝文件前,若原目标文件发生了变化,则陪灶对目标文件进行备份
woner 指定新拷贝文件戚弊的所有者
group 指定新拷贝文件的所属组
mode 指定新拷贝文件的权限
backup实验,如果被管理节点上的文件发生了改变,添加backup=yes,可以在复制过去之前备份原文件,如果没有添加backup=yes,则会直接覆盖,不管节点上的文件是否改变
设置用户及用户组实验,你可以直接在复制文件的时候指定用户和属组
设置文件的权限
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)