linux脚本

2023-11-14

程序后台运行:
nohup java -jar xxx.jar &>hello.log &
后台运行java-jar命令,并且将日志输出到hello.log文件

防火墙:
开启防火墙:systemctl start firewalld
开放指定端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭指定端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
立即生效:firewall-cmd --reload
查看开放的端口:firewall-cmd --zone=public --list-ports

通过shell脚本自动部署项目:
1、在linux服务器中安装git
yum list git 列出git安装包
yum install git 在线安装git

2、在linux服务器中安装maven
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
vim /etc/profile,然后输入:
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

source /etc/profile
mvn -version
vim /usr/local/apache-maven-3.5.4/conf/settings.xml 修改配置文件:
< localRepository >/usr/local/repo< /localRepository>

3、编写shell脚本(拉取代码、编译、打包、启动) bootStart.sh

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=helloworld

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
cd /usr/local/helloworld

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo 启动项目
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> helloworld.log &
echo 项目启动完成

4、为用户授予执行shell脚本的权限

chmod 777 bootStart.sh 为所有用户提供读、写、执行权限
chmod 755 bootStart.sh 为文件拥有者赋予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有权限

5、执行shell脚本

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux脚本 的相关文章

  • dlopen 或 dlclose 未调用信号处理程序

    我在随机时间内收到分段错误 我注册了信号 但发生分段错误时未调用信号处理程序 include
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • Elasticsearch 可搜索合成字段

    假设源文档 JSON 中存在几个名为的字段 a and b 属于类型long 我想构建一个综合字段 例如c 通过用下划线连接前面字段的值和 将其索引为keyword 也就是说 我正在研究一个可以通过如下虚构的部分映射来支持的功能 a typ
  • Elasticsearch:带有停用词消除功能的带状疱疹

    我正在尝试实现一个 Elasticsearch 映射来优化大量文本中的短语搜索 根据中的建议本文 http www elasticsearch org blog searching with shingles 我使用 shingle 过滤器
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • Elasticsearch 中的别名数量(全局和/或每个索引)是否有限制?

    我开始为我的项目研究elasticsearch 具体来说是1 5版本 我正在考虑使用别名将客户端应用程序从复杂的索引设置中抽象出来 我最终可能会得到 20 到 50 个索引 每个索引有 10 到 30 个别名 这将达到 1500 个别名 我
  • 可以作为命令行参数传递多少数据?

    在 Linux 下生成进程时可以发送多少字节作为命令行参数 gahooa 推荐了一篇好文章http www in ulm de mascheck various argmax http www in ulm de mascheck vari
  • 完整的 C++ i18n gettext()“hello world”示例

    我正在寻找完整的 i18ngettext 你好世界的例子 我已经开始了一个基于的脚本使用 GNU gettext 的本机语言支持教程 https web archive org web 20130330233819 http oriya s
  • 提高mysql导入速度[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我有一个很大的数据库22GB 我曾经用过进行备份mysqldumpgzip 格式的命令 当我提取 gz 文件时 它会生成 sql文件的
  • 如何在文件夹中的 xml 文件中 grep 一个单词

    我知道我可以使用 grep 在这样的文件夹中的所有文件中查找单词 grep rn core 但我当前的目录有很多子目录 我只想搜索当前目录及其所有子目录中存在的所有 xml 文件 我怎样才能做到这一点 我试过这个 grep rn core
  • 如何将 elf 解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

    如果我的问题不准确 我深表歉意 因为我没有太多 Linux 相关经验 我目前正在构建一个 Linux 从头开始 主要遵循 linuxfromscratch org 版本的指南 7 3 我遇到了以下问题 当我构建可执行文件时 获取一个称为 E
  • 比较linux中的两个未排序列表,列出第二个文件中的唯一项

    我有 2 个包含号码列表 电话号码 的文件 我正在寻找一种列出第二个文件中第一个文件中不存在的数字的方法 我尝试过各种方法 comm getting some weird sorting errors fgrep v x f second
  • Visual Studio - X11:缺少 DISPLAY 环境变量

    我正在使用 Visual Studio 2019 Enterprise 开发跨平台 Windows Linux x64 GUI 应用程序 在这个 2019 版本中 我们可以使用 Visual Studio调试平台 Windows 本机 和
  • Ctrl-p 和 Ctrl-n 在 Docker 下表现异常

    For the life of me I can t seem to figure out why ctrl p and ctrl n don t work like they re supposed to under the Docker
  • 使用 python 聚合 elasticsearch-dsl 中的字段

    有人可以告诉我如何编写 Python 语句来聚合 求和和计数 有关我的文档的内容吗 SCRIPT from datetime import datetime from elasticsearch dsl import DocType Str
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 由于 abi::cxx11 符号导致的链接问题?

    我们最近收到一份报告 因为GCC 5 1 libstdc 和双 ABI http gcc gnu org onlinedocs libstdc manual using dual abi html 它似乎Clang 不知道 GCC 内联名称
  • 隐式声明“gets”

    据我所知 隐式声明 通常意味着该函数必须在调用之前放置在程序的顶部 或者我需要声明原型 然而 gets应该在stdio h文件 我已包含 有没有什么办法解决这一问题 include
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期

随机推荐

  • C++ Template

    引言 模板 Template 指C 程序设计设计语言中采用类型作为参数的程序设计 支持通用程序设计 C 的标准库提供许多有用的函数大多结合了模板的观念 如STL以及IO Stream 函数模板 在c 入门中 很多人会接触swap int i
  • android 手势检测(左右滑动、上下滑动)

    开发十年 就只剩下这套Java开发体系了 gt gt gt GestureDetector类可以让我们快速的处理手势事件 如点击 滑动等 使用GestureDetector分三步 1 定义GestureDetector类 2 初始化手势类
  • 共轭方式怎么判断_怎么判断共轭效应是吸电子共轭效应还是给电子共轭效应?吸电子基和给电子基是根据什么判断的?...

    谢邀 我想按照我的思路给你解答解答 我要祭出我的高等有机化学笔记了 先说一句 要笔记的 在老家放着 没法卖给你们 而且说实话不好好看书的人 给你笔记你也不会 共轭效应只是众多电子效应中的一种 先从共轭效应开始讲起吧 共轭效应是由于共轭体系的
  • 滤波器相位补偿

    概要 滤波器使用的过程中都会产生相位的改变 有时 相位的改变并不是我们想要的 例如 笔者在做Dolby Atmos的bass management的时候 希望将顶置的低频成分分割到左右通道或环绕通道 因为相位的缘故 叠加之前 左右通道或环绕
  • windows

    1 准备工作 准备U盘 格式化U盘 注意选择格式化的文件系统 可以鼠标右键C盘查看 然后将U盘格式化 好像是跟电脑引导模式相关UEFI gt NTFS 如果格式化的时候没有选对文件系统 那么在BIOS界面可能无法识别到U盘 进入官网下载制作
  • 04_kibana 7.4.2 安装和配置指南

    本文大纲 1 Kibana 的下载方式 1 官网直接下载 2 Linux 服务器直接下载 需要能够访问互联网的服务器 2 修改配置 3 kibana 的关闭和重启 首先 值得高兴的是kibana7 x 已经有官方中文的啦 更加方便我们的开发
  • WebGL系列 - 裁剪空间矩阵优化

    该系列仅为记录自己的学习相关知识 以 2d 的顶点着色器为例
  • 模型评估相关参数学习

    training process loss accurancy val loss val accurancy testing process classification report label predict digits 8 labe
  • 【服务器】交换机带外管理和带内管理

    一 交换机的带外管理是什么 在带外管理模式中 网络的管理控制信息与用户网络的承载业务信息在不同的逻辑信道传送 带外管理最大的优势在于 当网络出现故障中断时数据传输和管理都可以正常进行 不同的物理通道传送管理控制信息和数据信息 两者完全独立
  • Activiti 学习(二)—— Activiti 流程定义和部署

    概述 在这一节 我们将创建一个 Activit 工作流 并启动这个流程 主要包含以下几个步骤 定义流程 按照 BPMN 的规范 使用流程定义工具 用流程符号把整个流程描述出来 部署流程 把画好的流程定义文件 加载到数据库中 生成表的数据 流
  • No module named 'numpy.core._multiarray_umath'

    导入tensorflow后遇到No module named numpy core multiarray umath 原因是numpy的当前版本过低 解决办法 更新numpy的版本 命令行输入 pip install i https pyp
  • java if oracle,JAVA使ORACLE 实现DROP TABLE IF EXISTS的功能

    JAVA使ORACLE 实现DROP TABLE IF EXISTS的功能 ORACLE没有MYSQL等数据库的DROP TABLE IF EXISTS 使用起来非常不便 删表还要求表必须存在 不存在则删表报错 太麻烦了 如果能实现其他数据
  • 学习Spring必学的Java基础知识(8)----国际化信息

    b size x large 引述 size b 要学习Spring框架的技术内幕 必须事先掌握一些基本的Java知识 正所谓 登高必自卑 涉远必自迩 以下几项Java知识和Spring框架息息相关 不可不学 我将通过一个系列分别介绍这些J
  • MySql 查询方法总结

    一 示例数据 dept表 emp表 二 查询方法 1 內连查询 a 隐式内连 select xxx from xxx where 条件 b 显示内连 select xxx from xxx inner jion xxx on 条件 2 外连
  • IDEA 接口方法不能跳转到实体类实现方法的问题

    IDEA 接口方法不能跳转到实体类实现方法的问题 问题描述 原因分析 解决方案 总结 问题描述 没有跳入到实体类实现方法的I 向下的箭头图标 原因分析 原因极大可能是因为编辑器自带的代码高亮工具 Syntaxhighlighte 失效 以下
  • 版本号对比 -- Python实现

    相同位数版本号大小比较 1 def abc str1 str2 2 if str1 or str2 3 print 输入包含空字符串 请重新输入 4 return 输入包含空字符串 请重新输入 5 elif str1 str2 6 prin
  • Unity3D项目输出到iOS设备体验

    很久以前就听说过这个软件个了 当时觉得有cocos2d就够用了 开发一般的手机游戏应该不成问题了 后来还学习了一下cocos3d 最近突然想看一下这个传说中的Unity3D 安装上之后 里边自带有一个demo 点了一下播放按键 发现这个de
  • 半监督结点分类

    3 半监督结点分类 我们已经介绍过了一个简单但是灵活的可在图上进行有效信息传播的模型f X A 现在我们可以回过头来看半监督结点分类的问题了 就像本文的介绍中所简要概述的那样 我们可以通过在数据集X和基础图结构的邻接矩阵A上调整来我们的模型
  • netty权威指南学习笔记二——netty入门应用

    经过了前面的NIO基础知识准备 我们已经对NIO有了较大了解 现在就进入netty的实际应用中来看看吧 重点体会整个过程 按照权威指南写程序的过程中 发现一些问题 当我们在定义handler继承ChannelHanderAdapter时候
  • linux脚本

    程序后台运行 nohup java jar xxx jar gt hello log 后台运行java jar命令 并且将日志输出到hello log文件 防火墙 开启防火墙 systemctl start firewalld 开放指定端口