ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ansible的hoc命令行以及常用模块

2021-08-06 23:31:41  阅读:244  来源: 互联网

标签:hoc ansible 命令行 host Ansible lizf 模块 home LC


ansible的ad hoc命令行格式:

ansible <host-pattern> -i <inventory path> -m <moudle> -a <moudle argument>

<host-pattern> :表示 某个主机组或者某个主机

-i 参数后面跟inventory路径,<inventory path>表示inventory路径

-m 参数后面跟模块,比如 shell、command、copy、ping、yum等等

-a 后面跟的是模块的参数

例: 

[root@bogon lizf]# ansible test -i /home/lizf/host -m shell -a 'ls /tmp/' 
192.168.131.129 | CHANGED | rc=0 >>
ansible_command_payload_dM2M60
systemd-private-7daea4ed89884c8ca5fc9f2ca1bd4766-chronyd.service-Xpd1xn
vmware-root_715-4281843213

ansible基础模块使用:

 ansible-doc -l  列出当前系统中所有的ansible模块

当你想查看某一个模块的用法时,可以用ansible-doc <模块名称>,当然查看到的都是playbook格式的操作。

下面列出一下常用的ansible模块以及用法:

命令模块: command、shell

文件模块:copy、fetch、lineinfile

用户模块:user、group

定时任务模块:cron

安装模块:yum

压缩解压模块:unarchive

服务模块:service

挂载模块:mount

command

 适合使用简单的命令 无法支持"<",">","|",";","&"等符号,如果ansible命令不加-m参数,默认就使用command模块

[root@bogon lizf]# ansible test -i host -m command -a 'hostname'
192.168.131.129 | CHANGED | rc=0 >>
bogon

shell

类似command模块升级版—万能模块,可以写shell命令,可以使用"<",">","|",";","&"等符号特殊符号

[root@bogon lizf]# ansible test -i host -m shell -a 'egrep -v "^#|^$" /etc/ssh/sshd_config'
192.168.131.129 | CHANGED | rc=0 >>
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem       sftp    /usr/libexec/openssh/sftp-server

copy

copy模块是常用的文件拷贝模块,后面可以加很多的参数

src  指定需要将本地拷贝的文件路径

dest 需要拷贝到目标主机的路径

mode 设置拷贝到目标主机的权限

group 设置拷贝文件的属组信息

owner 设置拷贝文件的属主用户信息

force  当设置为yes时,如果目标主机有同名的文件,将会覆盖;设置为no时则原文件不会做改变

backup 默认为no,当设置为yes时,如果目标主机有同名的文件时,先备份原文件,然后再覆盖

[root@bogon lizf]# ansible test -i /home/lizf/host -m copy -a 'src=/home/lizf/host dest=/home/ mode=0777 owner=lizf group=lizf backup=yes' 
192.168.131.129 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "checksum": "ae983bbcb03c06e321b54652af1a0b43a14628d5", 
    "dest": "/home/host", 
    "gid": 1000, 
    "group": "lizf", 
    "md5sum": "a3fb8ee7823ccf7ca7b5af22279f0ce6", 
    "mode": "0777", 
    "owner": "lizf", 
    "secontext": "unconfined_u:object_r:user_home_dir_t:s0", 
    "size": 24, 
    "src": "/root/.ansible/tmp/ansible-tmp-1628262316.65-245400100393655/source", 
    "state": "file", 
    "uid": 1000
}
[root@bogon lizf]# ansible test -i /home/lizf/host -m shell -a 'ls -l /home/'                                                                   
192.168.131.129 | CHANGED | rc=0 >>
总用量 4
-rwxrwxrwx. 1 lizf lizf  24 8月   6 23:05 host
drwx------. 3 lizf lizf 132 8月   5 00:04 lizf

 fetch

抓取文件到ansible主机

src  : 被管理主机中文件的路径

dest :ansible主机要保存的文件路径

[root@bogon lizf]# ansible test -i /home/lizf/host -m fetch -a 'src=/tmp/xiaozhi.txt  dest=/home/lizf/'                
192.168.131.129 | CHANGED => {
    "changed": true, 
    "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709", 
    "dest": "/home/lizf/192.168.131.129/tmp/xiaozhi.txt", 
    "md5sum": "d41d8cd98f00b204e9800998ecf8427e", 
    "remote_checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709", 
    "remote_md5sum": null
}
[root@bogon lizf]# tree -n 5 /home/
5 [error opening dir]
/home/
├── ansible.cfg
├── lizf
│   ├── 192.168.131.129
│   │   ├── tmp
│   │   │   └── xiaozhi.txt
│   │   └── var
│   │       └── log
│   │           └── messages
│   └── host
└── xiaozhi

 

标签:hoc,ansible,命令行,host,Ansible,lizf,模块,home,LC
来源: https://www.cnblogs.com/xiaozhi1223/p/15101290.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有