首页 > 其他分享 >A-Ansible参数

A-Ansible参数

时间:2023-02-23 12:32:28浏览次数:35  
标签:文件 ansible 用户 Ansible 参数 模块 执行 远程

ansible命令执行过程

  1. 加载自己的配置文件 默认/etc/ansible/ansible.cfg
  2. 加载自己对应的模块文件,如command
  3. 通过ansible将模块或命令生成对应的临时py文件,并将该文件传输至远程服务器的对应执行用户$HOME/.ansible/tmp/ansible-tmp-数字/XXX.PY文件
  4. 给文件+x执行
  5. 执行并返回结果
  6. 删除临时py文件,退出
执行状态:
  • 绿色:执行成功并且不需要做改变的操作
  • 黄色:执行成功并且对目标主机做变更
  • 红色:执行失败
ansible.cfg配置参数
inventory = /etc/ansible/hosts  主机列表配置文件
library = /usr/share/my_modules/ 库文件存放目录
remote_tmp = $HOME/.ansible/tmp 临时py命令文件存放在远程主机目录
local_tmp = $HOME/.ansible/tmp 本机的临时命令执行目录
forks = 5 默认并发数
sudo_user = root 默认sudo 用户
ask_sudo_pass = True 每次执行ansible命令是否询问ssh密码
ask_pass = True
remote_port = 22
host_key_checking = False 检查对应服务器的host_key,建议取消注释
log_path=/var/log/ansible.log 日志文件
module_name = command 默认模块
Ansible管理远程服务器基于SSH,在登录远程服务器执行命令需要远程服务器的用户名和密码,也可以加入-k参数手动输入密码或者基于ssh-keygen生成 秘钥。工具参数:

-v,-verbose:打印详细模式

-i PATH,-inventory=PATH:指定host文件路径

-f NUM,-forks=NUM:指定fork开启同步进程的个数,默认为5

-m NAME,-module-name=NAME:指定module名称,默认模块为command

-a MODULE_ARGS:module模块的参数或者命令

-k,0ask-pass:输入被管理端密码

-sudo:基于sudo用户执行

-K,-ask-sudo-pass:提示输入sudo密码与sudo一起使用

-u USERNAME,-user=USERNAME:指定执行用户

-C,--check:测试执行过程,不改变真实内容,相当于预演

-T TIMEOUT:执行命令超时时间,默认为10s

--version:查看ansible软件版本信息
Ansible command模块参数
-Chdir: 执行命令前,切换到目录

-Creates: 当该文件存在时,则不执行该步骤

-Executable: 换用shell环境执行命令

-Free_form: 需要执行的脚本

-Removes: 当该文件不存在时,则不 执行该步骤

-Warn:若在ansible.cfg中存在告警,如果设定了false,不会警告此
Ansible copy模块实战:主要用于文件或者目录复制,支持文件、目录、权限、用户组 功能
-src: Ansible端源文件或者目录,空文件夹不复制
-content: 用来替代src,用于将指定文件的内容复制到远程文件中
-dest: 客户端目标目录或者文件,需要绝对路径
-backup: 复制之前,先备份远程节点上的原始文件
-directory_mode: 用于复制文件夹,新建的文件会被复制,而老旧的不会被复制
-follow; 支持Link文件复制
-force: 覆盖远程主机不一致的内容
-group: 设定远程主机文件夹的组名
-mode: 指定远程主机文件及文件夹的用户名
-owner; 设定远程主机文件夹的用户名
Ansible YUM模块实战:主要用于软件的安装、升级、卸载,支持红帽rpm软件包的管理
-conf_file  :设定远程YUM执行时所依赖的YUM配置文件
-disable_gpg_check :安装软件包之前是否检查gpg key
-name :需要安装的软件名称,支持软件组安装
-update_cache :安装软件前更新缓存
-enablerepo :指定repo源名称
-skip_broken :跳过异常软件节点
-state ;软件包状态,包括installed\present\latest\absent\removed
Ansible file模块实战:用于文件的创建、删除、修改、权限、属性的维护和管
src :Ansible端源文件或者目录
follow ;支持Link文件复制
force :覆盖远程主机不一致的内容
group :设定远程主机文件夹的组名
mode :指定远程主机文件及文件夹的用户名
owner :设定远程主机文件夹的用户名
path :目标路径,也可用dest,name代替
state :状态包括file\link\directory\hard\touch\absent
attributes :文件或者目录特殊属性
Ansible user模块实战:主要用于操作系统用户、组、权限、密码等操作,user模块使用详解
-system :默认创建为普通用户,为yes则创建系统用户
-append :添加一个新的组
-comment :新增描述信息
-createhome :给用户创建家目录
-force :强制删除用户
-group :创建用户主组
-groups :将用户加入组或者附属组添加
-home :指定用户的家目录
-name :表示状态,是否create\remove\modify
-password :指定用户的密码,此处为加密密码
-remove ;删除用户
-shell ;设置用户的shell登录环境
-uid :设置用户ID
-update_password :修改用户密码
-state :用户状,默认为present,表示新建用户
Ansible cron模块实战:主要用于添加、删除、更新操作系统crontab任务计划,cron使用
name  :任务计划名称
cron_file :替换客户端使用的任务计划的文件
minute :分(0-59,*,*/2)
hour :时(0-23,*,*/2)
day :日(1-31,*,*/2)
month :月(1-12,*,*/2)
weekday :周(0-6或1-7,*)
job :任何计划执行的命令,state要等于 present
backup :是否备份之前的任务计划
user :新建任务计划的用户
state :指定任务计划present\absent
Ansible synchronize模块实战:主要用于目录、文件同步,主要基于rsync命令工具同步目录和文件,synchronize模块使用详解
compress  :开启压缩,默认为开启
archive :是否采用归档模式同步,保证源和目标文件属性一致
checksum ;是否效验
dirs :以非递归的方式传输目录
Links :同步连接文件
recursive :使用rsync的参数
copy_links :同步的时候是否复制连接
delete :删除源中没有而目标存在的文件
src :源目录及文件
dest ;目标目录及文件
dest_port ;目标授受的端口
rsync_path ;服务的路径,指定rsync命令来在远程服务器上运行
rsync_timeout :指定rsync操作的IP超时时间
set_remote_user :设置远程用户
--exclude=.log :忽略同步.log结尾的文件
mode :同步的模块,rsync同步的方式push、pull,默认都是推送push.
Ansible shell模块实战:主要用于远程客户端上执行各种shell命令或者运行脚本,远程执行命令通过/bin/sh环境来执行,支持cpmmand更多的指令
Chdir :执行命令前,切换到目录
Creates : 当该文件存在时,则不执行该步骤
Executable :换用shell环境执行命令
Free_form :需要执行的脚本
Removes :当该文件不存在时,则不执行该步骤
Warn:若在ansible.cfg中存在告警,如果设定了false
Ansible service模块实战
enabled:是否开机启动服务

name:服务名称

runlevel:服务启动级别

arguments:服务命令参数传递

state:服务操作状态,状态包括:started\stopped\restarted\reloade

标签:文件,ansible,用户,Ansible,参数,模块,执行,远程
From: https://blog.51cto.com/u_13688209/6081026

相关文章

  • A-Ansible-Playbook参数
    Playbook核心元素Hosts#执行的远程主机列表Tasks#任务集Variables#内置变量或自定义变量在playbook中调用Templates#模板,可替换模板文件中的变量并实现一些简单逻辑......
  • 前端学习之------事件对象和参数
    经常忘记,在此记录一下~如果想在一个事件函数中既传递事件对象,又传递所需参数,则事件对象使用$event来传结果: ......
  • Jmeter递增参数
    1、前言在最近压测接口的时候,有一个需要不同参数进行测试。从网上看了几篇文章,有一些解决办法:Jmeter连接数据库,循环获取数据准备Navicat写sql准备数据,对于有规律的数据......
  • python 可变参数和lambda
    deffunc(*args):printlen(args)printargs[1]printargsif__name__=='__main__':mylist=[1,7200,3]func(*mylist)func(1,2,3,4)#传参cl......
  • json.dumps()使用indent参数 格式化输出json数据格式
    json.dumps() 方法 将一个Python数据结构转换为JSON字符串data=[{"name":"小王","sex":'男'},{"name":"小明","sex":'女'}]json_str=json.dum......
  • 启动docker时候怎么向内部程序传入参数
    启动docker时候怎么向内部程序传入参数 启动docker的命令是dockerrun******************他有好多的参数,具体看https://www.runoob.com/docker/docker-run-command......
  • Ansible 多机自动化工具 初学笔记
    此文档仅张聪明同学个人笔记;新负责KTH-RPLClusterGPU的漫漫学习长路EnglishDocs:https://docs.ansible.com/ansible/latest/index.htmlhttps://gits-15.sys.kth.se/......
  • Ansible 快速入门到放弃
    Ansible快速入门到放弃最是人间留不住,朱颜辞镜花辞树。1-Ansible简介Ansible是一个配置管理和配置工具,它使用SSH连接到服务器并运行配置好的任务,服务器上只......
  • golang WEB框架Hertz --- 获取参数
    安装Hertz命令行工具请确保您的Go版本在1.15及以上版本,笔者用的版本是1.18配置好GO的环境后,按照Hertz的命名行工具goinstallgithub.com/cloudwego/hertz/cmd/hz@lates......
  • ansible中map
    一、简介ansible中的filter:map,其实是jinja2中的filterpython中map(func,iter)返回func与每个元素计算后的迭代器,iter是个可迭代对象ansible中的map和python中的基......