Ansible 远程执行脚本】的更多相关文章

1. 先在服务端创建一个 shell 脚本 [root@localhost ~]$ cat /tmp/test.sh #!/bin/bash echo "hello world" 2. 把脚本分发到客户端 [root@localhost ~]$ ansible 192.168.119.134 -m copy -a "src=/tmp/test.sh dest=/tmp/test.sh mode=0755" 3. 远程执行脚本,使用 shell 模块 [root@lo…
首先创建一个shell脚本 cat /tmp/df.sh #!/bin/bash df -h|grep vda|awk '{print $5}' 然后把该脚本分发到各个机器上 ansible compass -m copy -a "src=/tmp/df.sh dest=/tmp/df.sh mode=0755" 最后是批量执行该shell脚本 ansible compass -m shell -a "/tmp/df.sh"|more 执行效果如下: [root@w…
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,centos上可直接yum安装 有提供UI(浏览器图形化)www.ansible.com/tower,收费的 官方文档 http://docs.ansible.com/ansible/latest/index.html ansible已经被redhat公司收购,它在github上是一个非常受欢迎的开源软…
公司有上百台服务器,需要为每台服务器都执行一个脚本,因为所有服务器的账号密码都是一样的,所以可以不用搭建ansible等自动化运维工具,我们直接通过SSH远程执行即可完成. 本文以三台服务器为例,系统版本:CentOS7.31.安装sshpasscd /etc/yum.repos.d/wget http://download.openSUSE.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repoyum install…
ssh无密码登录及远程执行脚本要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS7为例. 测试环境:机器A(10.0.224.80):机器B(192.168.7.172).现想A通过ssh免密码在B上远程执行命令. 1.首先在A机下生成公钥/私钥对:(-P表示密码,-P '' 就表示空密码,一次回车即可.在~/.ssh会生成id_rsa和id_rsa.pub两个文件) [root@registry home]# ssh-keygen -t rsa -…
这几天在学习jenkins的持续集成和部署,到了最后一步启动服务的时候,遇到了一个这个Bad version number in .class file的报错(如下图). 这个报错在最开始手工部署的时候就遇到过,当时是jdk版本不对,安装对应版本的jdk后就解决了.这次用jenkins远程执行脚本,又报这个错,jdk的版本是正确的毫无疑问,而且手动启动时也可以启动,就是远程启动时报错.最后各种查,了解到jenkins在远程执行脚本时获取不到远程机子的环境变量导致的,要在构建的脚本第一句加上sou…
JSch远程执行脚本 2017-02-24 在自动化测试的时候,需要远程操控服务器做一些操作,比如切日.起服务器.执行某些脚本.如何实现? 我们可以利用JSch,远程执行脚本.JSch是Java Secure Channel的缩写,是一个SSH2功能的纯Java实现,具体信息可以参考JSch官网.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,同时你也可以集成它的功能到你自己的应用程序.在使用前,需要下载并导入JSch包:jsch-0.1.50.jar. 以下是实现…
假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机: 要达到的目的: A机器ssh登录B机器无需输入密码: 加密方式选 rsa|dsa均可以,默认dsa ssh-keygen -t rsa #使用rsa加密 二.具体操作流程 单向登陆的操作过程(能满足上边的目的): 1.登录A机器 2.ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub Generating…
问题 最近在学习 ansible ,在使用普通用户远程执行 ip a 命令是发现提示错误:/bin/sh: ip: command not found. 原因 command not found 命令未找到,一般想到的是环境变量的问题.网上查找资料,也证实了这个猜测,根本原因是 ansible 登录方式为 non-login shell(与之对应的是 login shell ).login shell 登陆后会加载 /etc/profile.~/.bash_profile,而 non-login…
写法如下: [root@localhost ~]$ ansible 192.168.119.134 -m command -a 'date' # 对指定的主机远程执行命令,-m 指定使用哪个模块,-a 指定执行哪些命令 [root@localhost ~]$ ansible test -m command -a 'date' # 对指定的主机组远程执行命令,需要先配置/etc/ansible/hosts [root@localhost ~]$ ansible 192.168.119.134 -m…