首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过JSch运行远程linux主机上shell脚本

如果您看完文章之后,觉得对您有帮助,请帮我点个赞,您支持是我不竭创作动力! 运行远程主机上shell脚本 下面的例子是教给大家如何通过java程序,运行远程主机上shell脚本。...(我讲不是一个黑客学习教程,而是使用用户名密码去执行有用户认证资格主机上shell脚本)。并且通过java程序获得shell脚本输出。...首先通过maven坐标引入JSch依赖库,我们正是通过JSch去执行远程主机上脚本。...并且远程主机上,为这个脚本设置可执行权限,方法如下: $ chmod +x hello.sh 本地java程序 我们可以使用下面的代码,去远程linux 主机执行shell脚本,详细功能请看代码注释...= null) { jschSession.disconnect(); } } } } 最终本地控制台,获得远程主机上shell脚本执行结果。

2.1K00

自动化运维利器Ansible要点汇总

Ansible与Saltstack最大区别是Ansible无需在被控主机部署任何客户端代理,默认直接通过SSH通道进行远程命令执行或下发配置,这里不作详细对比,直接使用Ansible。...Ansible是一款基于Python开发自动化运维工具,实现了批量系统配置、批量程序部署、批量运行命令等功能,主要特点: 部署简单,只需主控端部署Ansible环境,被控端无需做任何操作,默认使用SSH...、raw、script执行shell命令 copy:复制文件到远程主机,可以改权限等 file设置文件目录属性等 fetch 从远程主机获取文件到本地 service 服务程序管理,启动停止重启服务等操作...user管理用户账号 script指定节点运行服务端脚本 Playbooks中一些技巧 playbook目录结构   webservice.yml为入口,files目录存放静态文件,handlers...host_port.cmd }}" # 引用方式一 msg: "{{ host_port['stdout_lines'] }}" # 引用方式二 connection: local   本地服务器上运行命令

2K30
您找到你想要的搜索结果了吗?
是的
没有找到

Ansible常用功能说明

Ansible同步模式与异步模式 同步模式: 如果节点数太多,ansible无法一次在所有远程节点上执行任务,那么将先在一部分节点上执行一个任务(每一批节点数量取决于fork进程数量,默认为5个,可设置...因此轮训检查时间内,ansible仍然正在运行(尽管某批任务已经被放到后台执行了),当前shell进程仍被占用处于睡眠状态,只有指定检查时间间隔为0,才会尽快将所有任务放到后台并释放shell。...False] 三、Ansible任务委托 [delegate_to、delegate_facts、run_once] 默认情况下,ansible所有任务都是指定机器上运行。...当在一个独立群集环境中配置时,只是想操作其中某一台主机,或者特定主机上运行task任务,此时就需要用到ansible任务委托功能。...使用delegate_to关键字可以配置task任务指定机器上执行,就是说其他task任务还是hosts关键字配置机器上运行,到了这个关键字所在任务时,就使用委托机器运行

7.7K42

03 实战 Ansible-Playbook之初始化服务器

批量初始化服务器 初始化步骤 配置ssh密钥认证 远程配置主机名 控制远程主机互相添加HOSTS解析 配置远程主机yum源以及一些软件 时间同步配置 关闭selinux/iptables 修改sshd...配置 配置ssh密钥认证 主控节点/etc/ansible/hosts配置节点 $ vim /etc/ansible/hosts [new] 192.168.56.12 192.168.56.13...命令执行模块 以下四个模块不满足幂等性 command:执行简单shell命令 shell: 和command相同,但支持管道富豪 raw: 执行底层shell命令,通常在目标主机上安装python...时才使用这个模块 script: 远程主机上执行脚本 以下命令具备幂等性: creates: 当指定文件或者目录不存在时执行,存在不执行 removes:当指定文件或者目录不存在时不执行,存在执行...inventory中定义名称 play_hosts和hostvars: 是预定义变量,执行任务时可以直接拿出来使用,play_hosts相当于是new这个主机组里面的所有主机列表; hostvars

1.7K20

云原生之 Ansible 篇(二)

这种特性适用于以下场景: 告警系统中启用基于主机告警 向负载均衡器中添加或移除一台主机 dns上添加或修改针对某个主机解析 存储节点上创建一个存储以用于主机挂载 使用一个外部程序来检测主机上服务是否正常...可以使用delegate_to语句来另一台主机上运行task: - name: enable alerts for web servers hosts: webservers tasks:...,ansible会并行在所有选定主机主机组上执行每一个task,但有的时候,我们会希望能够逐台运行。...1,即表示某一个时间段内,play只一台主机上执行。...如果为2,则同时有2台主机运行play。 一般来讲,当task失败时,ansible会停止执行失败那台主机上任务,但是继续对其他 主机执行。

1.4K20

现代 IT 人一定要知道 Ansible系列教程:持续交付和滚动升级

接下来四个任务针对特定主机运行,并将特定角色应用于这些服务器。...示例 Web 应用程序和 Nagios 主机都使用它。 可重用内容:角色 到目前为止,我们应该对角色以及它们 Ansible工作方式有一定了解。...第一部分如下所示: - hosts: webservers user: root serial: 1 这只是一个正常定义,组上运行。该关键字告诉 Ansible 一次要运行多少台服务器。...如果未指定,Ansible 会将这些操作并行化,直至达到配置文件中指定默认“forks”限制。但是,对于零停机时间滚动升级,我们更多可能不希望同时在这么多主机上操作。...对于 Ansible 具有模块负载均衡器,可能希望它们联系 API 时将其作为 a 运行。如果你为一些没有模块硬件开发任何有趣东西,它可能会做出很好贡献!

19210

Ansible 自动化运维笔记(总结)

Shell shell 模块可以帮助我们远程主机上执行命令,它与 command 模块不同之处是 shell 模块远程主机中执行命令时,会运行远程主机上 /bin/sh 程序处理,也就是说它不是直接执行命令...all -m shell -a "executable=/bin/bash uname -r" -o Script script 模块可以帮助我们远程主机上执行我们编写管理主机脚本,也就是说,脚本一直存在于你管理主机本地...,设置属,远程主机上必须有对应用户 group 拷贝到远程主机以后,设置属组,远程主机上必须有对应用户 mode 拷贝到远程主机以后,设置文件权限信息 others 所有的file模块里选项都可以在这里使用...1.将ansible主机上压缩包在本地解压缩后传到远程主机上,这种情况下copy=yes 2.将远程主机上某个压缩包解压缩到指定路径下,这种情况下,需要设置copy=no 下面来看它几个常用参数...解压后文件或目录ansible控制主机上/root/lyshark.tar.gz解压缩到远程主机/tmp/目录下,并设置权限777.

2K20

ansible基础应用

(1)command模块:远程主机上运行命令 例如:ansible webservers -m command -a "ls /var" ansible webservers -a "useradd...)远程主机shell进程下运行命令,支持shell特性 例如:ansible webservers -m shell -a "echo cwj1111|passwd –stdin user1" (3)...ansible all -m cron -a "state=absent name=Synctime" 就可以删除 (5)fetch模块:拉取文件(从远程主机上拉取文件到本地ansible-doc...ansible任务配置文件被称为playbook,就是剧本,每个剧本里面包含一系列任务,每个任务ansible中又被称为“戏剧”(play)。...Tasks中任务都是有状态,changed或者ok。 Ansible中,只task执行状态为changed时候,才会执行该task调用handler。

1.3K71

Ansible 常用模块详解

模块不同之处是 shell 模块远程主机中执行命令时,会运行远程主机上 /bin/sh 程序处理,也就是说它不是直接执行命令,而是交给了bash来托管执行,这样一来我们管道符也就被支持了,笔者还是常用...,或直接修改远程主机上文件或目录与属组....,设置属,远程主机上必须有对应用户 group 拷贝到远程主机以后,设置属组,远程主机上必须有对应用户 mode 拷贝到远程主机以后,设置文件权限信息 others 所有的file模块里选项都可以在这里使用...,解压缩,这个模块有两种用法 1.将ansible主机上压缩包在本地解压缩后传到远程主机上,这种情况下copy=yes 2.将远程主机上某个压缩包解压缩到指定路径下,这种情况下,需要设置copy=...group 解压后目录或文件属组 owner 解压后文件或目录ansible控制主机上/root/lyshark.tar.gz解压缩到远程主机/tmp/目录下,并设置权限777.

1.1K10

Ansible 命令执行模块

shell 模块远程主机中执行命令时,会运行远程主机上 /bin/sh 程序处理,也就是说它不是直接执行命令,而是交给了bash来托管执行,这样一来我们管道符也就被支持了,笔者还是常用shell...,或直接修改远程主机上文件或目录与属组....管理主机上文件拷贝到远程主机中,文件变化是通过MD5值来判断.下面来看它几个常用参数:命 令 参 数参 数 解 释src用于指定本地文件保存位置,也就是ansible管理主机文件位置dest...此参数有两个选项yes/noowner拷贝到远程主机以后,设置属,远程主机上必须有对应用户group拷贝到远程主机以后,设置属组,远程主机上必须有对应用户mode拷贝到远程主机以后,设置文件权限信息...,解压缩,这个模块有两种用法1.将ansible主机上压缩包在本地解压缩后传到远程主机上,这种情况下copy=yes 2.将远程主机上某个压缩包解压缩到指定路径下,这种情况下,需要设置copy=no

1.8K30

马哥金牌分享 | 十五分钟实现Ansible常用模块入门

playbook中使用 组变量 组变量是指赋予给指定组内所有主机上playboo中可用变量。...’ copy模块 顾名思义,copy模块是用来远程传输文件 常用参数如下: src: 指定本地源文件路径,绝对路径或相对路径都可以,如果路径指向一个目录,则会把目录下所有文件全部复制 dest:远程主机上文件存放路径...,必做使用绝对路径 content: 直接在命令中指定文件内容,使用该内容远程主机上生成文件 backup: 是否备份目标文件,默认为no owner: 指定文件属 group: 指定文件属组 mode...: 指定文件权限,如640 一个简单例子 我们要把本地文件/etc/issue复制到远程主机/tmp/目录下 属为:zabbix用户 同时,还要求只有属对该文件有读写权限 ansible datanodes...到远程主机上文件/tmp/content.ansible,操作如下: # ansible datanodes -m copy -a'content="hello world!

1.4K50

实战RHCA-DO407(1)

/packages.yml剧本 dev、test和prod主机主机上安装php和mariadb包 将开发工具包组安装到dev主机组中主机上 dev主机主机上更新所有包到最新版本 解答 1.../timesync.yml剧本: 在所有托管主机上运行 使用timesync角色。...创建一个名为/home/student/ansible/host.yml剧本,使用此模板dev主机主机上生成文件/etc/myhosts.yml 完成后,dev host组主机上/etc/myhosts.../issure.yml剧本如下: 剧本运行在所有主机 playbook将/etc/issue内容替换为一行文本,如下所示: 2.1dev主机主机上,内容:Development 2.2...测试主机主机上,内容:test 2.3prod主机主机上,内容:Production 解答 1.编写剧本 [student@workstation ansible]$ cat /home

7.6K72

Ansible

copy 模块 copy 模块,用于将文件复制到远程主机 常用参数: #ansible本地主机创建文件 [root@ansible-server ~]# touch /tmp/test.txt #将本地...,是否对远程主机文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机文件,然后再将ansible主机文件拷贝到远程主机 owner:此参数指定文件拷贝到远程主机,但是远程主机上必须有对应用户...group:此参数指定文件拷贝到远程主机属组,但是远程主机上必须有对应组,否则会报错 mode:此参数指定文件拷贝到远程主机权限,如果你想将权限设置为”rw-r–r–“,则可以使用mode=0644...,满足条件方执行,否则不执行 tags标签,指定某条任务执行,用于选择运行playbook中部分代码。...#第四行:tasks关键字是用来指定要执行哪些操作任务,之后行都属于tasks任务列表中任务,每个任务都以”- “开头,每个任务都有自己名字,任务名使用name关键字进行指定 #运行剧本需要使用

2.7K30

玩转企业常见应用与服务系列(十四):自动化运维工具 Ansible 基础入门

,然后查看剧本任务根据剧本中一系列任务生成一个临时脚本文件,然后将该脚本文件发送给所管理主机,脚本文件远程主机上执行完成后返回结果,然后删除本地临时文件。...: src #被复制到远程主机本地文件。...主机上压缩包在本地解压缩后传到远程主机上,或者将远程主机上某个压缩包解压缩到指定路径下。...copy #默认为yes,拷贝文件从ansible主机复制到远程主机,no远程主机上寻找src源文件解压 src #tar源路径,可以是ansible主机上路径,也可以是远程主机上路径,如果是远程主机上路径...owner #解压后文件或目录 group #解压后目录或文件属组 #解压ansible管理机上压缩文件到远程主机并设置权限 [root@localhost ~]$ ansible

36110

大神带你 20 分钟学会 Ansible

uid=306 system=yes group=mysql' copy 复制文件(复制本地文件到远程主机指定位置) src 定义本地源文件路径 dest 定义远程目录文件路径...# ansible webserver -m service -a 'enabled=true name=httpd state=started' shell 远程主机上运行命令 尤其是用到管道变量等功能复杂命令...# ansible all -m shell -a 'echo magedu | passwd --stdin user1' script 将本地脚本复制到远程主机运行之 # ansible...: root 不过,remote_user也可用于各task中,也可以通过指定其通过sudo方式远程主机上执行任务,其可用于play全局或其任务;此外,甚至可以sudo时使用sudo_user指定...task list中任务按次序逐个hosts中指定所有主机上执行,即在所有主机上完成第一个任务后再开始第二个。

3.5K20

k8s 学习(2)——使用 ansible-playbook 搭建 k8s 环境

4个步骤,于是我 ansible-playbook 里面的 roles 也是分成4个 role 来执行任务。...node 节点安装 k8s 看过之前手动部署 k8s 文章应该记得一个步骤:当 node 节点安装完 k8s 之后需要执行 join 主机点集群命令,而这个命令需要去节点查询得到,所有当时是手动查询然后执行...所以 ansible 如何做到在当前执行机操作步骤时候到另外执行机执行步骤,我当时查到了一种方案就是使用 delegate_to 参数,模块中添加这个参数,就可以将该步骤到这个参数指向 IP 主机上面执行步骤...: "{{ k8s.master_ip }}" # 节点上面执行这个任务 - name: print cmd debug: var: kubeadm_join_cmd.stdout...- name: join k8s shell: "{{ kubeadm_join_cmd.stdout }}" 整个任务运行命令是: ansible-playbook k8s_install.yml

1.3K20

Ansible 极简教程

uid=306 system=yes group=mysql' copy 复制文件(复制本地文件到远程主机指定位置) src 定义本地源文件路径 dest 定义远程目录文件路径...# ansible webserver -m service -a 'enabled=true name=httpd state=started' shell 远程主机上运行命令 尤其是用到管道变量等功能复杂命令...# ansible all -m shell -a 'echo magedu | passwd --stdin user1' script 将本地脚本复制到远程主机运行之 # ansible...: root 不过,remote_user也可用于各task中,也可以通过指定其通过sudo方式远程主机上执行任务,其可用于play全局或其任务;此外,甚至可以sudo时使用sudo_user指定...task list中任务按次序逐个hosts中指定所有主机上执行,即在所有主机上完成第一个任务后再开始第二个。

3K20

Ansible自动化运维学习笔记1

: 使用puppet管理100台主机,就要在这100台主机上安装puppet对应agent(客户端代理程序),比较繁琐; 不同之处在于ansible只需要依赖ssh即可正常工作,不用在受管主机上安装agent...# (required - 必须参数) 指定存入到ansible主机上文件路径 src: # (required - 必须参数) 指定远程主机文件路径 validate_checksum...(剧本) 描述:将我们前面所学到模块知识点应用到工作场景,进一步理解与使用ansible 剧本yml语法 假设,我们想要在test70主机上安装nginx并启动,我们可以ansible主机中执行如下...state=started" 但是实际工作环境中我们可能需要经常在新主机上安装nginx,难道每次有新服务器加入工作环境,我们都要修改上述3条命令中主机名并且重新将每一条命令执行一遍吗?...#比如:对本地主机采用ping模块,然后采用file模块再主机上创建目录; ansible local -m ping ansible local -m file -a "path=/testdir/test

4K31
领券