• LinuxCron重启tomcat小记


    背景:机房在刚搭建之初总是各种各样的原因断电,需要频繁的手动重启服务,就很烦~

    来吧,show your code no bb

    1,写个shell脚本,用于监测服务是否被杀死,若被杀死则重启

    #!/bin/bash
    tomcatPath=/data/tomcat
    binPath="$tomcatPath/bin"
    echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath"
    echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath bin路径:$binPath"
    pid=`ps aux | grep "/data/tomcat/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
    echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
    if [ -n "$pid" ]; then
    echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
    else
    echo "[info][$(date +'%F %H:%M:%S')]tomcat未启动!"
    echo "[info][$(date +'%F %H:%M:%S')]准备删除工作work缓存目录... 路径:$tomcatPath"/work""
    rm -rf $tomcatPath"/work/*"
    echo "[info][$(date +'%F %H:%M:%S')]准备启动tomcat..."
    $binPath"/catalina.sh" start
    fi

    脚本可以放在下文所示的目录中(/etc/cron.d)

    脚本需要可执行权限,这没啥说的

    chmod +x restart_oa.sh 

    2,cron命令

    2.1

    • /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
    • /etc/crontab 这个文件负责调度各种管理和维护任务。
    • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
    • 我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

    2.2

    crontab [-u username]    //省略用户表表示操作当前用户的crontab
        -e      (编辑工作表)
        -l      (列出工作表里的命令)
        -r      (删除工作作)

    在root用户下(你的服务是用root启动的)执行

    我们用crontab -e进入当前用户的工作表编辑   cron表达式 脚本目录

    格式如下

     * * * * * /etc/cron.d/restart_oa.sh : 每分钟执行restart_oa.sh脚本

    心之何如,有似万丈迷津,遥亘千里,其中并无舟子可以渡人,除了自渡,他人爱莫能助。
  • 相关阅读:
    web安全
    WCF通信架构
    WCF地址
    WCFContracts(契约)
    分布式中的王者WCF
    SOAP 介绍
    诊所管理软件
    MFC 画图CDC双缓冲
    Linux 启动、关闭、重启网络服务
    C# 除法的小数点问题
  • 原文地址:https://www.cnblogs.com/s88888888/p/15513069.html
Copyright © 2020-2023  润新知