Shell补遗


背景

公司一台机器总是会在没有更新补丁的情况下启动失败.
查看所有的配置都没有问题.
但是就是不启动
没办法,准备写一个检查进行启动.
最近写shell很少. 所以总结一下.

思路

判断有没有 服务进程.
如果没有服务进程. 调用启动服务进程
如果有服务进程, 那就不做任何操作.
所以整体是非常简单的.

脚本

count=$(ps -ef |grep caf |grep java |wc -l)
echo $count
if [ $count -lt 1 ]; then
echo "启动一下服务"
/deploy/startup
fi

设置计划任务

crontab -e

1 4 * * * /deploy/checkservice

每天凌晨四点确认一下如果没有进程, 那么就重启.
其实感觉跟keepalive 是很相似的
理论上也可以用keepalive来实现

shell补遗_一个巨简单的保证服务存活的脚本的更多相关文章

  1. Go For Web:一篇文章带你用 Go 搭建一个最简单的 Web 服务、了解 Golang 运行 web 的原理

    前言: 本文作为解决如何通过 Golang 来编写 Web 应用这个问题的前瞻,对 Golang 中的 Web 基础部分进行一个简单的介绍.目前 Go 拥有成熟的 Http 处理包,所以我们去编写一个 ...

  2. 利用SpringCloud搭建一个最简单的微服务框架

    http://blog.csdn.net/caicongyang/article/details/52974406 1.微服务 微服务主要包含服务注册,服务发现,服务路由,服务配置,服务熔断,服务降级 ...

  3. 动手实现一个较为简单的MQTT服务端和客户端

    项目地址:https://github.com/hnlyf168/DotNet.Framework 昨天晚上大致测试了下 ,490个客户端(一个收一个发)  平均估计每个每秒60个包  使用mqtt协 ...

  4. java实现一个最简单的tomcat服务

    在了解tomcat的基本原理之前,首先要了解tomcatt最基本的运行原理. 1.如何启动? main方法是程序的入口,tomcat也不例外,查看tomcat源码,发现main是在Bootstrap  ...

  5. 一个非常简单的RPC服务

    1.servicefunctions.php <?php class ServiceFunctions { public static function getDisplayName($f,$l ...

  6. 使用Axis2创建一个简单的WebService服务

    使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...

  7. 简单ESB的服务架构

    简单ESB的服务架构 这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1. ...

  8. 新项目架构从零开始(三)------基于简单ESB的服务架构

    这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...

  9. linux之shell基本认知操作和简单shell练习

    shell编程: 1.Shell的作用 命令解释器,“翻译官”.介于操作系统内核与用户之间,负责解释命令行. shell功能非常强大,除负责解释名另外,还可以将多个命令组合起来,完成复杂的任务,这就是 ...

  10. 用qpython3写一个最简单的发送短信的程序

    到目前为止并没有多少手机应用是用python开发的,不过qpython可以作为一个不错的玩具推荐给大家来玩. 写一个最简单的发送短信的程序,代码如下: #-*-coding:utf8;-*- #qpy ...

随机推荐

  1. 2021-01-26:mysql8.0做了什么改进?

    福哥答案2021-01-26: 2020-01-26:mysql8.0做了什么改进? 帐户管理增加了对角色的支持. 支持原子数据定义语句(atomic DDL). 支持utf8mb4字符集. Inno ...

  2. antd5中文设定

    antd5中文设定 import zhCN from "antd/lib/locale/zh_CN" <ConfigProvider locale={zhCN} theme= ...

  3. 技术解读丨分布式缓存数据库Redis大KEY问题定位及优化建议

    摘要:如何定位分布式缓存数据库Redis大KEY问题,实操案例带你掌握优化方法. [背景] 访问Redis 5.0 cluster集群出现OOM报错,报错信息为(error) OOM command ...

  4. 一图看懂CodeArts Deploy 5大特性,带你玩转部署服务

    摘要:华为云自动化部署服务,助力企业安全.高效生产! 华为云持续部署服务CodeArts Deploy,通过模块化自由编排部署流程,实现软件的自动化部署,基于其易入门.功能全.集成度高.自动化.可靠的 ...

  5. 不同数据库模式下DATE类型的行为解析

    摘要:本文章主要介绍了GaussDB(DWS)数据类型中的DATE类型在不同数据库模式下且在不同应用场景下的行为表现及对比. 本文分享自华为云社区<GaussDB(DWS)数据类型之DATE类型 ...

  6. appuploader 入门使用

    回想一下我们发布 iOS 应用,不仅步骤繁琐,非常耗时.一旦其中一步失误了,又得重新来.作为一名优秀的工程师不应该让这些重复的工作在浪费我们的人生.在软件工程里面,我们一直都推崇把重复.流程化的工作交 ...

  7. MySQL java new dat() 后插入数据库的时间不一致

    别用时间字段,做为关联字段,代码里的时间和插到数据库中有误差 MySQL java new dat() 后插入数据库的时间不一致,代码里new 的时间插到数据库中不一致

  8. pytest参数化及应用

    Pytest 安装pytest #安装pytest pip install pytest #检查是否安装 pytest --version 创建第一个测试 def func(x): return x ...

  9. 盛科交换机和ovs交换机建立VxLAN隧道

    环境信息 盛科交换机信息: R3# show version CentecOS Software, E580, Version 5.3.6 Copyright (C) 2004-2017 Centec ...

  10. RabbitMQ--工作模式

    单一模式 即单机不做集群 普通模式 即默认模式,对于消息队列载体,消息实体只存在某个节点中,每个节点仅有 相同的元数据,即队列的结构 当消息进入A节点的消息队列载体后,消费 者从B节点消费时,rabb ...