事件背景

服务应用weblogic通过nohup启动.

nohup的使用全部都在weblogic域中的bin目录下

但是没有做定期nohup.out的清理

导致核心服务的日志过大,在出现问题时候难以打开日志进行问题定位

处理方法

crontab 加脚本每天凌晨清理备份一次nohup日志

脚本如下

#!/bin/bash

#ENV

DATE=$(date +"%m-%d")

BASE=$(awk -F"'" '/gobin/{print $2}' ~/.bashrc|awk '{print $2}')

FILE=$BASE'log'

LOG=$BASE'nohup.out'

#Check if the log file exist

if [ ! -d $FILE ];then

mkdir $FILE

fi

#Backup the log to the FILE

echo "$DATE"

echo '#Back up the log file#'

cp $LOG $FILE/$DATE.log

#Clean today's log

echo 'Start to clear..'

cp /dev/null $LOG

#Delete files from seven days ago

find $FILE -type f -mtime +7 -name "*.log" -exec rm {} \;

echo '#Finished.#'

脚本ENV取当前变量说明

目的脚本要适应多台服务器中的weblogic域路径,

利用weblogic用户下的alias(里面在部署项目时候设置有域的bin路径)

cat ~/.bashrc

# .bashrc

# Source global definitions

if [ -f /etc/bashrc ]; then

    . /etc/bashrc

fi

...

export PS1="<\! `hostname` [`whoami`] :"'$PWD'">"

alias gobin='cd /home/weblogic/bea/user_projects/domains/pro_domain/bin/'

...

# User specific aliases and functions

截取里面域的路径

BASE=$(awk -F"'" '/gobin/{print $2}' ~/.bashrc|awk '{print $2}')

通过自动获取域的路径,同时通过ansible批发到核心服务当中.

再配合crontab实现核心服务器日志的定期清理

 
 
 
 
 
 

定期清理nohup.out的更多相关文章

  1. nohup保证程序后台运行

    前言 我们运行某些命令的时候,它会默认在前台执行.如果要进行其他操作,则需要先停掉此程序.然后就蛋疼了.   解决 碰到这种情况,我们可以使用"nohup"命令和"&am ...

  2. nohup程序后台执行

    Linux常用命令,用于不挂断的执行程序. nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终端之后继续运行相应 ...

  3. Linux scp 设置nohup后台运行

    Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...

  4. ORACLE定期清理INACTIVE会话

      ORACLE数据库会话有ACTIVE.INACTIVE.KILLED. CACHED.SNIPED五种状态.INACTIVE状态的会话表示此会话处于非活动.空闲.等待状态.例如PL/SQL Dev ...

  5. Linux下如何不停止服务,清空nohup.out文件

    tips:最近发现有不少人在百度这个问题,当初如易我也是初学者,随便从网上搜了一下,就转过来了,不过为了避免搜索结果同质化,为大家提供更翔实的参考,我将nohup.out相关知识整理汇总如下: 1.n ...

  6. Linux:使用nohup让进程在后台可靠运行

    学习之余我最大的乐趣是找一部不错的电影慢慢品味,这也是我缓解压力的最好方式之一,由于我常去的字幕组网站需要签到才可以下载字幕,像这种娱乐网站谁有时间天天记得去签到呢,but作为一个准程序猿应该有更好的 ...

  7. linux–nohup命令(转)

    在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/local/mysql/bin/my ...

  8. nohup使用(转)

    在启动weblogic的时候我们经常看到如下的命令: nohup ./startWebLogic.sh >out.log 2>&1 & 其中 0.1.2分别代表如下含义:  ...

  9. Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen

    我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败.这是由于在用户注销(logout)或者网络断开时,终端会收到 HUP ...

随机推荐

  1. [codevs1227]草地排水<Dinic网络流最大流>

    题目链接:http://codevs.cn/problem/1993/ https://www.luogu.org/problemnew/show/P2740 之前一直都没去管网络流这算法,但是老师最 ...

  2. MATLAB—地图

    一.画亚洲地图 1.worldmap() (1) clear all worldmap('World') clear all worldmap('World')%世界地图 load coast %载入 ...

  3. B 方块消消乐

    时间限制 : - MS   空间限制 : - KB  评测说明 : 1s,128m 问题描述 何老板在玩一款消消乐游戏,游戏虽然简单,何老板仍旧乐此不疲.游戏一开始有n个边长为1的方块叠成一个高为n的 ...

  4. 在.NET Core中检查证书的到期日期

    在 NUnit 测试中,我需要检查证书的有效期. 下面的代码片段可用于使用自定义证书验证回调检查任何证书属性. 所有你需要做的就是在回调中读取你感兴趣的属性,这样你就可以在之后检查它们. DateTi ...

  5. Docket 容器引擎

    Docker 是世界领先的软件容器平台.是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中, 然后发布到任何流行的Linux或Windows机器上,可以实现虚拟化(软件 ...

  6. Codeforces - Watermelon

    A. Watermelon time limit per test 1 second memory limit per test 64 megabytes input standard input o ...

  7. MySql 存储过程分页。

    use address;drop procedure if exists `proc_s_area_code`;delimiter // #告诉mysql解释器,该段命令是否已经结束了,mysql是否 ...

  8. Haystack+ES解决搜索服务

    最近项目组需要对老的搜索项目进行迁移和改造,刚入职2个星期的我光荣的接受了这份工作,这也是我第一次接触Haystack和Elasticsearch,以下是记录下工作中的一些需求解决,具体haystac ...

  9. Java Random 随机数

    package myrandom; import java.util.Random; /* * Random:用于产生随机数 * * 使用步骤: * A:导包 * import java.util.R ...

  10. Java Array 常见报错ArrayIndexOutOfBoundsException NullPointerException

    本文介绍array报错, 数组索引越界异常: ArrayIndexOutOfBoundsException, 空指针:NullPointerException package myArray; /* ...