Ansible批量在远程主机执行命令
Ansible直接执行远程命令,不用ssh登陆交互执行。
如下:
ansible all -i 192.168.199.180, -m shell -a "ifconfig" -u supermap
参数解释:
-i 连接到远程主机“192.168.199.180,”,注意这里的“,”直接指定主机名列表,没有“,”该参数则被解释为主机名的列表文件。
-m 为ansible模块名称,执行shell命令。
-a 远程shell命令,为ifconfig(获取网络配置参数)。
-u 指定执行的远程主机用户名。
-k 可以指定是否交互输入参数,如果没有,则需要在本机有预存的访问密钥。
可以先使用ssh登录,选择保存,即可自动保存下来。
主机文件格式,样例参考( host-list):
[local]
192.168.199.173 ansible_ssh_port=22 ansible_ssh_host=192.168.199.173 ansible_ssh_user=supermap ansible_ssh_pass=SuperMap
192.168.199.180 ansible_ssh_port=22 ansible_ssh_host=192.168.199.180 ansible_ssh_user=supermap ansible_ssh_pass=SuperMap
192.168.199.249 ansible_www.yongshi123.cn ssh_port=22 www.dfgjpt.com ansible_ssh_www.yongshiyule178.com host=192.168.199.249 ansible_ssh_user=openswitch ansible_ssh_pass=SuperMap
使用主机文件,自动登录后,批量执行命令:
ansible all -i host-list -m shell -a "ifconfig" -u my-username
这个还是很方便的。
最近遇到一些FreeBSD的故障,在这种操作系统上我们平时用的一些命令无法执行,FreeBSD的一些配置文件也和其他很多Linux系统不一样。为了方便以后查阅,我特别整理了这篇文档。
1. 网络
重启网络的命令:
/etc/rc.d/netif restart , /etc/netstart restart
网络配置文件:
root@mhxy-compile02:~ # cat /etc/rc.conf
ifconfig_em0="DHCP"
sshd_enable="NO"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
puppet_enable="YES"
ipv6_enable="NO"
hostname="mhxy-compile02.i.nease.net"
nfs_client_enable="YES"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
2. SSH
命令:
/etc/rc.d/sshd start , /etc/rc.d/sshd restart
SSH配置文件:
root@mhxy-compile02:~ # cat /etc/ssh/sshd_config
# THIS FILE IS AUTOMATICALLY GENERATED BY PUPPET.
# DO NOT EDIT THIS FILE.
# 1. Basic
Port 32200
Protocol 2
# 2. Authentication
HostKey /etc/ssh/ssh_host_rsa_key
HostKey www.boyunylpt1.com /etc/ssh/ssh_host_dsa_key
KeyRegenerationInterval 3600
ServerKeyBits 768
UsePrivilegeSeparation yes
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
# 3. Features
UseDNS no
X11Forwarding www.maituyul1.cn yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
# 4. Logging
SyslogFacility AUTH
LogLevel INFO
# 5. x509
Subsystem sftp www.enzuovip.com /usr/libexec/sftp-server
#CACertificateFile www.huarenyl.cn /etc/ssh/ca/ca.cer
3. 防火墙
1)停止ipfw防火墙:
ipfw disable firewall
/etc/rc.d/ipfw stop
2)开启ipfw防火墙:
ipfw enable firewall
/etc/rc.d/ipfw start
3)清防火墙
ipf -Fa
4.赋予用户root权限
1)pw groupmod www.furongpt.com wheel -m
2)pw user mod -g wheel
5.查看CPU和内存
1)sysctl kern.smp.cpus或dmesg |grep cpu #查看CPU个数
2)dmesg|more或top #查看内存
参考:
Ansible快速开始-指挥集群
Ansible :一个配置管理和IT自动化工具(1/3)
Ansible :一个配置管理和IT自动化工具(2/3)
Ansible :一个配置管理和IT自动化工具 (3/3)
部署生产级的 Kubernetes 集群,使用kubespray
Kubeflow等镜像部署到集群多节点
Ansible批量在远程主机执行命令的更多相关文章
- Ansible 直接请求远程主机执行命令
ansible -all -i host1.abc.com, -m ping #注意主机名称后面的逗号,就算一台主机也是必须的.多台主机可以用逗号隔开 ansible all -i host1.abc ...
- Ansible批量更新远程主机用户密码 (包括Ansible批量做ssh互信)
按照集团运维信息安全制度, 需要每个一段时间对线上服务器密码进行一次变更,通过shell脚本部署比较繁琐,所以决定采用ansible脚本对远程主机root密码进行批量重置,该脚本已经在稳定运行在正式环 ...
- 批量复制及执行命令shell脚本
平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可 ...
- Python-SSH批量登陆并执行命令
Python-SSH批量登陆并执行命令 #!/usr/bin/env python #-*- coding:utf-8 -*- import paramiko from time import cti ...
- ansible 批量在远程主机上执行命令
ansible 和 saltstack 都是为了同时在多台主机上执行相同的命令, 但是 salt配置麻烦,ansible基本不用配置, ansible 通过ssh来连接并控制被控节点 1. 安装 第一 ...
- Python通过paramiko批量远程主机执行命令
一.前言 在日常运维的过程中,经常需要登录主机去执行一些命令,有时候需要登录一批主机执行相同的命,手动登录执行的化效率太慢, 所以可以通过Python的paramiko模块批量执行,本篇文章基于pyt ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- ssh批量登录并执行命令(python实现)
局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的.现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件 ...
- Python实现ssh批量登录并执行命令
局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的.现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件 ...
随机推荐
- Linux下MySQL安装与操作
sudo apt-get update //用于更新源,获取软件包列表 sudo apt-get upgrade //用于升级指定软件包 install //安装 remove //移除软件包 aut ...
- sql 两表更新
UPDATE sale_origin_line set state='cancel' from sale_origin p,sale_origin_line q where p.id=q.or ...
- go语言之行--文件操作、命令行参数、序列化与反序列化详解
一.简介 文件操作对于我们来说也是非常常用的,在python中使用open函数来对文件进行操作,而在go语言中我们使用os.File对文件进行操作. 二.终端读写 操作终端句柄常量 os.Stdin: ...
- 20155238 2016-2017-2 《JAVA程序设计》第十周学习总结
教材学习内容总结 # Java计算机网络基础 计算机网络 计算机网络是通过传输介质.通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统.网络编程就就是编写程序使 ...
- HQL语句的3个小技巧
1.巧用new map 在查询表中部分字段的值时,我们可以用map来封装这些字段的值,可以提高查询效率,而且查出数据也更小,传输到页面的速度也更快. 如:查询角色时,我们只想要 id, ...
- Wannafly挑战赛26-F-msc的棋盘[最小割转化dp]
题意 一个大小为 \(n*m\) 的棋盘,知道每一列放了多少棋子,求有多少摆放方案满足要求. \(n,m\leq 50\) . 分析 如果是求是否有方案的话可以考虑网络流,行列连边,列容量为 \(b_ ...
- 关于元素设置margin-top能够改变body位置的原因及解决(子元素设置margin-top改变父元素定位)
关于元素设置margin-top能够改变body位置的原因及解决(子元素设置margin-top改变父元素定位) 起因:在进行bootstrap的.navbar-brand内文字设置垂直居中时采用li ...
- Vxlan抓包
实验目的:验证Openstack vxlan组网模式验证虚拟机数据是否通过物理网卡流出 一. 同网段不同主机间虚拟机通讯 (同网段通讯直接通过物理机隧道口链接对端物理机隧道口,不需要通过网络节点): ...
- (转)Unity内建图标列表
用法 Gizmos.DrawIcon(transform.position, "PointLight Gizmo"); UnityEditor.EditorGUIUtility.F ...
- C++基础知识(3)
C++内置的数据类型:基本类型.复合类型 基本类型:整型,浮点型,字符型 复合类型:数组,字符串,指针和结构 复合数据类型是在基本数据类型的基础上创建的 要知道系统中整数的最大长度,可以在程序中使用C ...