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

从ansible运行bash/java脚本总是失败,返回代码126

问题描述:从ansible运行bash/java脚本总是失败,返回代码126。

回答: 这个问题的返回代码126表示执行的脚本无法执行或者找不到。可能的原因有以下几点:

  1. 权限问题:请确保ansible在目标主机上具有执行脚本的权限。可以通过在playbook中使用sudo或者root用户执行脚本来解决权限问题。
  2. 脚本路径问题:请确保脚本的路径是正确的,并且在目标主机上是可访问的。可以使用绝对路径或者相对路径来指定脚本的位置。
  3. 脚本文件格式问题:请确保脚本文件的格式是正确的。对于bash脚本,可以通过在脚本文件的第一行添加#!/bin/bash来指定解释器。对于java脚本,可以通过在脚本文件的第一行添加#!/usr/bin/java来指定解释器。
  4. 依赖问题:如果脚本依赖于其他的库或者软件包,请确保这些依赖已经在目标主机上安装并且可用。
  5. 环境变量问题:如果脚本依赖于特定的环境变量,请确保这些环境变量在执行脚本时是可用的。可以在ansible playbook中使用"environment"关键字来设置环境变量。

总结: 当从ansible运行bash/java脚本返回代码126时,可能是权限、路径、格式、依赖或环境变量等问题导致的。需要逐一排查并解决这些问题。如果问题仍然存在,可以进一步查看ansible的日志以获取更多的信息来定位问题。

推荐的腾讯云相关产品:

  • 云服务器(CVM):提供稳定可靠的云服务器实例,可用于运行脚本和应用程序。
  • 云函数(SCF):无服务器计算服务,可以运行自定义的脚本代码,无需关心服务器的管理和维护。
  • 云开发(TCB):提供全托管的后端服务,可以快速开发和部署应用程序,包括脚本和数据库等。
  • 云原生应用引擎(TKE):提供容器化的应用程序部署和管理平台,可以方便地运行和管理脚本应用。
  • 云监控(CM):提供全面的监控和告警服务,可以监控脚本运行的状态和性能指标。

更多产品介绍和详细信息,请访问腾讯云官方网站:腾讯云

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ansible自动化运维学习笔记4

是另一个list的父集时返回真 #注:2.5版本中上述两个testsissubset和issuperset更名为subset和superset 总结:ansible使用jinja2模板引擎,这些运算符其实都是.../bin/bash if test -e /testdir; then echo "testdir exist" fi 在ansible中也有运算标识符与”test -e”命令的作用是相同的,通过...block中有多个任务和rescue中也有多个任务,故意执行”/bin/false”命令模拟任务出错的情况,在block代码块中命令执行失败时候就会在执行rescue中的任务时,会先输出 ‘I caught...,如果条件成立,则立即终止脚本运行,(只需要在条件成立时调用\”exit\”命令即可终止脚本运行) 那么在编写playbook时,如果有类似的需求我们该怎么办呢?...,failed_when’的作用就是当对应的条件成立时将对应任务的执行状态设置为失败,以停止playbook的运行; 但是需要注意的时’ failed_when’虽然会将任务的执行状态设置为失败,但是并不代表任务真的失败

2.5K10

Rainbond 5.1.6 发布,支持公、私有云环境下高可用集群安装

发布版本:5.1.6 版本更新:推荐 更新范围:高可用安装 高可用安装 在本次版本更新中,为了是用户高可用安装Rainbond更加简单,我们对Rainbond安装脚本项目进行了如下调整: Ansible...主机列表配置脚本维护更改为安装工具集群获取节点数据进行维护,使主机列表信息准确表达。...私有云环境下高可用安装Rainbond平台 BUG修复 修复在批量多个服务构建时代码缓存目录冲突导致部分服务构建失败的问题 修复环境变量值存储最大限制256导致部分环境变量无法设置的问题,更改为最大限制....5.1.6.tgz -C /tmp/rainbond-ansible cd /tmp/rainbond-ansible/scripts/upgrade/ bash ..../upgrade.sh 平台升级完成验证 执行 grctl cluster确定所有服务和节点运行正常 grctl version 确认版本已升级到5.1.6,运行组件镜像版本为 v5.1.6-release

1K20

Ansible自动化运维学习笔记4

是另一个list的父集时返回真 #注:2.5版本中上述两个testsissubset和issuperset更名为subset和superset 总结:ansible使用jinja2模板引擎,这些运算符其实都是.../bin/bash if test -e /testdir; then echo "testdir exist" fi 在ansible中也有运算标识符与”test -e”命令的作用是相同的,通过exsts...block中有多个任务和rescue中也有多个任务,故意执行”/bin/false”命令模拟任务出错的情况,在block代码块中命令执行失败时候就会在执行rescue中的任务时,会先输出 ‘I caught...,如果条件成立,则立即终止脚本运行,(只需要在条件成立时调用\”exit\”命令即可终止脚本运行) 那么在编写playbook时,如果有类似的需求我们该怎么办呢?...,failed_when’的作用就是当对应的条件成立时将对应任务的执行状态设置为失败,以停止playbook的运行; 但是需要注意的时’ failed_when’虽然会将任务的执行状态设置为失败,但是并不代表任务真的失败

1.5K20

你管这破玩意儿叫上云?

比如一个 Java 项目,你要跑起来,总得先编译打包(生成 jar 包)吧,打包之后发布总不能立马中断正在运行的服务吧,你得用优雅停机的方式来停掉服务然后再部署新包,部署之后如果发现有问题要回滚吧,这些步骤如果用手工操作肯定不现实...ansible 所在机器) command 模块:在远程主机上执行命令,并将结果返回到调用机上(也就是 ansible 所在主机) cron 模块:定时任务模块,这个大家应该比较熟悉了 我们知道一般工程都需要构建...dest: /opt/apps/bin/ - name: Start operation_center ansible.builtin.shell: bash bin/...start.sh # 执行部署脚本 args: chdir: /opt/apps executable: /bin/bash...-i production-hosts.yaml java-build.yaml # 在打包机中打包 ansible-playbook -i production-hosts.yaml java-deploy.yaml

51540

Jenkins+GitLab+Ansible

(单机版) 方式2: jenkins安装maven插件构建成war 使用ansible将war 复制到各个节点上(多个) 使用脚本重启tomcat 方式3: jenkins自由项目 构建时调用ansible...的脚本(拉取代码,maven,构建,tomcat重启) 方式3具体思路描述: jenkins构建时调用ansible脚本 1.构建时去git拉取代码代码失败会重新拉一次(最多两次) 2.将代码代码库复制到版本库...3.ansible脚本调用build.sh(mvn clean package)去构建项目 4.将current当前版本的文件夹指向版本库(第3步构建的位置) 5.将配置文件 拷贝过来 6.使用handle...去触发supervisor重新加载 环境: 使用ansible 安装java git maven supervisor等 版本库最多放5个版本,其他的会被删除 回滚 1.去版本库找到上一个版本 。...这类ssh远程执行是non-login shell,不会加载etc/profile,~/.bash_profile,而是加载etc/bashrc和~/.bashrc git拉取代码 --- - name

55010

【自动化运维】0到1 CICD自动化部署落地分享

对于我们来说是最优的选择; Ansible是批量运维工具,通过编写yaml脚本,可以方便实现批量管理多台机器,并且Ansible是比较轻量级应用,很容易上手; shell脚本可以用于执行一系列命令。...Jenkins--持续集成 Ansible--下发文件 Shell--Linux脚本 Git--版本管理 GitLab--代码托管 Node.js--前端编译 Maven--后端编译 JDK--Java...Jenkins主节点的主要负责项目部署前的工作,主要包含拉取代码,前端打包,后端打包,快照版检测,将压缩包和部署脚本发送到目标机器(即应用服务器),远程调用目标机器上的部署脚本进行代码替换。.../etc/profile 5、检验JDK是否安装成功,注:-version,不是--version java -version 或者 javac 6、踩坑 如果出现这-bash: /usr/local.../java/jdk1.8.0_171/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file问题 运行这个命令解决:sudo yum

1.6K20

Rainbond 5.1.7 发布,应用展示清晰透明,优化应用排错

运行阶段 运行阶段的服务实例被Rainbond实时监控,一旦出现比如异常退出、OOM、健康检测不通过的情况下都会详细记录事件日志,用户可以UI上便捷查询。 ? ‍...#321 修复Java多模块代码检测生成的编译命令和参数重复的BUG #356 修复rbd-monitor模块异常停止对部分监控目标的服务发现的BUG #350 移除性能分析插件在分析websocket...如果你手动调整过 /opt/rainbond/conf下的服务配置文件导致升级失败请到社区咨询。.../rainbond-ansible.upgrade.5.1.7.tgz 第一个管理节点执行下述命令升级平台 再次提醒,升级前系统比较运行正常,升级过程耗时取决于你的系统磁盘写入速度,脚本未成功之前请勿主动终止升级.../scripts/upgrade/ bash .

67120

超简单的CDH6部署和体验(单机版)

为什么会超简单 借助ansible简化了CDH6部署工作的大部分内容,也降低了手工操作失误的概率,今天实战的内容,是在一台安装了ansible的电脑上(苹果或Linux操作系统)运行ansible脚本,...,安装ansible2.9版本的MabBook Pro电脑作为ansible服务器,执行playbook脚本,对一台CentOS服务器进行远程操作,完成CDH6的部署和启动: ?...部署CDH时用到的ansible脚本 11 cdh-single-start.yml 初次启动CDH时用到的ansible脚本 上述11个文件的下载地址: jdk-8u191-linux-x64.tar.gz...将上述红框中的内容改为/bin/bash,修改后如下图红框所示: ?...调整YARN参数避免spark-shell启动失败 YARN默认给容器分配的内存过小,导致启动spark-shell失败,需要调整YARM相关的内存参数: ?

2.9K20

自动化运维实践 | Ansible入门

配置ansible管理节点和主机节点的连接 其实就是配置管理节点到远程主机之间基于密钥(无密码的方式)的SSH连接。...用脚本管理主机-Playbook 为了避免重复的输入命令,Ansbile提供了脚本功能。...Ansible脚本的名字叫Playbook,使用的是YAML格式,文件以yml或 yaml为后缀。 1. 执行playbook的方法 ansible-playbook deploy.yml 2....什么是Ansible模块 bash无论是在命令行上执行,还是在bash脚本中,都需要调用cd,ls,yum,cp等命令。模块就是Ansible的“命令”。...注意:copy模块在复制文件的时候,会先比较一下文件的checksum,如果相同则不会复制,返回状态为OK;如果不同才会复制,返回状态为changed。

1.9K21

openshift 3.10多节点集群安装(基于Ansible和Centos7.4)

此文件不会被复制到平台上运行的容器中。建议配置单独的DNS服务器。 默认情况下,容器其所在主机接收DNS配置文件(/etc/resolv.conf)。...如果启用了DHCP,NetworkManager调度脚本会根据DHCP配置自动配置DNS。 我的主机都是静态IP。禁用了DHCP。...kexec-tools sos psacct java-1.8.0-openjdk-headless python-passlib 安装Ansible 在将调用安装过程的主机上执行: 安装EPEL存储库...包: # yum -y --enablerepo=epel install ansible pyOpenSSL GitHub 克隆openshift / openshift-ansible存储库,它提供所需的...图中运行失败的几个pod,一部分是监控的pod,因为我没有提前下载镜像导致启动失败,还有一个是openshift镜像库的web界面,失败原因大体相同,因为电脑太卡,这部分坑就不填了。影响不大。

1.5K20

Bash 脚本 set 命令教程

set -o xtrace 四、Bash 的错误处理 如果脚本里面有运行失败的命令(返回值非0),Bash 默认会继续执行后面的命令。 #!...$ bash script.sh script.sh:行4: foo: 未找到命令 可以看到,第4行执行失败以后,脚本就终止执行了。 set -e根据返回值来判断,一个命令是否运行失败。...但是,某些命令的非零返回值可能不表示失败,或者开发者希望在命令失败的情况下,脚本继续执行下去。这时可以暂时关闭set -e,该命令执行结束后,再重新打开set -e。.../bin/bash set -e foo || true echo bar 上面代码中,true使得这一行语句总是会执行成功,后面的echo bar会执行。...Bash 会把最后一个子命令的返回值,作为整个命令的返回值。也就是说,只要最后一个子命令不失败,管道命令总是会执行成功,因此它后面命令依然会执行,set -e就失效了。 请看下面这个例子。 #!

1.7K40

Bash 脚本 set 命令教程

set -o xtrace 四、Bash的错误处理 如果脚本里面有运行失败的命令(返回值非0),Bash 默认会继续执行后面的命令。 #!...$ bash script.sh script.sh:行4: foo: 未找到命令 可以看到,第4行执行失败以后,脚本就终止执行了。 set -e根据返回值来判断,一个命令是否运行失败。...但是,某些命令的非零返回值可能不表示失败,或者开发者希望在命令失败的情况下,脚本继续执行下去。这时可以暂时关闭set -e,该命令执行结束后,再重新打开set -e。.../bin/bash set -e foo || true echo bar 上面代码中,true使得这一行语句总是会执行成功,后面的echo bar会执行。...Bash 会把最后一个子命令的返回值,作为整个命令的返回值。也就是说,只要最后一个子命令不失败,管道命令总是会执行成功,因此它后面命令依然会执行,set -e就失效了。 请看下面这个例子。 #!

1.4K50

Ansible执行Shell模块问题

问题 Ansible调用shell远程启动java包,找不到JAVA_HOME或者直接输出为空。...[root@bogon ~]# ansible testserver -m shell -a "nohup java -jar /server/share-0.0.1-SNAPSHOT.jar --spring.profiles.active...No such file or directory 解决过程 首先,在/etc/profile中声明java的变量,发现执行ansible-playbook返回为空 export JAVA_HOME=/...PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 其次,在~/.bash_profile中添加环境变量,用ansible远程执行脚本,发现依然输出为空和找不到java…...最后…考虑ansible执行的环境变量与登录时使用的环境变量是否有所不同,所以将JAVA_HOME写在/etc/bashrc里面,发现执行结果正常… 原因 由于我的猜测可能是由于ansible执行的时候并没有调用

57320

基于Ansible和Devops的一键测试环境部署实践

Ansible Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(Saltstack、puppet、chef等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。...无Server,在任何安装ansible的机器上执行命令即可 5. 脚本用YAML编写,易读和易维护 正因为ansible操作简单、易上手,功能丰富,已被很多公司纳入使用。...="$JAVA_OPTS -Xms2G -Xmx2G"' - name: start Server shell: bash start.sh args: chdir: "{{ install_dir...首先通过在DevOps中定义发布流水线,将产品部署流程分为代码仓库拉取脚本、部署产品和发送邮件三部分。 ? 对于部署过程中的参数,通过发布流水线的参数化功能实现。...所有参数化完成后,利用devops中shell脚本执行功能调用ansible-playbook命令并将定义的参数通过extra-vars选项传递给ansible完成测试环境的部署。 ?

1.5K20

Ansible 模块

bash无论在命令行上执行,还是bash脚本中,都需要调用cd、ls、copy、yum等命令;模块就是Ansible的“命令”,模块是ansible命令行和脚本中都需要调用的。...-P NUM,--poll=NUM:定期返回后台任务进度。 -u USERNAME,--user=USERNAME:指定远程主机以USERNAME运行命令。...-l SUBSET,--limit=SUBSET:指定运行主机。 -l ~REGEX,--limit=~REGEX:指定运行主机(正则)。...# 执行的状态返回信息: --绿色:执行成功并且不需要做改变的动作 --黄色:执行成功并且对目标主机做变更 --红色:执行失败 3、Ansible模块 文件模块: copy:将本地文件复制到受控主机...,yes or no permanent 该配置是否在运行的防火墙配置中,或者在重新启动时仍然存在。

1.3K10
领券