shell定时删除tomcat日志和nginx日志信息

3 篇文章 0 订阅
2 篇文章 0 订阅

一、shell脚本

#!/bin/bash
. /etc/profile
. ~/.bash_profile

process_name=java
tomcat_path=/usr/local/tomcat
nginx_path=/usr/local/nginx
pid= `ps -ef | grep $process_name | grep -v grep | awk '{print $2}'`
echo $pid

if [ -n "$pid" ];
then
    {
        echo "------- tomcat is start -> shutdown.sh ---------- "
        $tomcat_path/bin/shutdown.sh
        sleep 5
    }
fi
echo "------------- remove tomcat logs------------- "
    rm -rf $tomcat_path/logs/*
    echo "------------- remove nginx logs --------------"
    rm -f $nginx_path/logs/*.log
    echo "----- release the resources of deleted ----- "
    pid=`lsof | grep deleted | awk '{print $2}'`
    kill -9 $pid
    pid=`ps -ef | grep $process_name | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ];
    then
       {
            echo "------- to kill the tomcat pid $pid ---------"
            kill -9 $pid
            sleep 3
        }
     fi
     echo "------------ start tomcat ------------------"
     $tomcat_path/bin/startup.sh
     sleep 3
     echo "-------------- start nginx -----------------"
     cd $nginx_path
     ./sbin/nginx
     echo "------- vertify the logs of tomcat ---------"
cat -f /usr/local/tomcat/logs/catalina.out

二、启动定时任务

crontab -e             // 编译、添加定时任务
0 0 * * * cd /usr/local/shell; ./tomcat_restart.sh > /usr/local/shell/tomcat_restart.log
保存退出即可启动

三、注意事项

	注意事项
   <1>判断条件可以修改为if [ ${tomcat_id} = "" ]

加入定时任务
 crontab -h           // 查看crontab的使用
 crontab -l          // 列出当前的定时任务
 crontab -e             // 编译、添加定时任务

 service crond stop
 service crond start
 service crond status

 案例一:
    // 格式:
    */5 *  *  *  * cd /home/*/*/ & ./tomcat_restart.sh > /home/*/*/restart.log
    说明:
        * * * * * 表示任何时候 //分 时 日 月 周
        , 分割,多个时间点,如1点和4点 1,4
        - 分割 ,一段时间范围内,如1点到四点 1-4
        /n 间隔,没个多少时间,每5分钟,*/5
        需要注意的是,定时任务中,对于脚本的存放目录也有要求,cd /home/*/* 先进入到目录下,在执行./tomcat_restart.sh
 案例二:
    0 2  * * * /usr/local/tomcat/bin/tomcat_restart.sh >> /usr/local/tomcat/logs/tomcat_restart.log
    每天2点执行 tomcat_restart.sh 脚本并把执行日志追加到 tomcat_restart.log 文件中。
 案例三:
    1.在控制台上输入以下命令
     crontab -e
    2.按i键编辑这个文本文件,输入以下内容,每天凌晨4:30重启tomcat
     30 04 * * * /usr/local/script/cleanTomcatlog.sh



我的最终crontab -e中的信息(具体根据情况):
  0 0 * * * cd /usr/local/shell; ./tomcat_restart.sh > /usr/local/shell/tomcat_restart.log

四、其它小细节(自我补充)

1、获取当前时间 
  time2=$(date "+%Y%m%d%H%M%S")     20200720155515
  time3=$(date "+%Y-%m-%d %H:%M:%S")  2020.07.25 15:55:15
  time4=$(date "+%Y.%m.%d")   2020.07.25
  注意:date后面有一个空格,shell对空格要求严格、变量赋值前后不要有空格
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值