系统相关
首页 > 系统相关> > linux 磁盘检查和定时清理并重启应用释放空间

linux 磁盘检查和定时清理并重启应用释放空间

作者:互联网

linux磁盘空间用追加形式 echo "" > 日志文件,空间依旧得不到释放,此时是系统应用进程仍在消费日志文件,需要重启应用,

磁盘空间才得以释放,下面用一个shell定时检测某个目录磁盘占用达到一定值时,自动清理日志并重复检测释放真的释放磁盘空间,

如果没有释放,则重启应用,以tomcat为例

 

创建3个sh文件,如clean_logs.sh,tomcat_restart_by_clean.sh ,tomcat_stop_by_clean.sh,内容分别如下

tomcat_restart_by_clean.sh

#/bin/sh

#指定用户执行

 su - 用户<<EOF #绝对地址 目录路径/start_tomcat.sh    EOF

 tomcat_stop_by_clean.sh

#/bin/sh

 su - 用户<<EOF #绝对地址 目录路径/stop_tomcat.sh    EOF   clean_logs.sh #/bin/sh #清理日志 echo "" >指定文件  #绝对地址 rm -rf /指定文件 #绝对地址   #判断清理是否生效 disk_used=$(df -h|grep 指定目录路径挂载卷|awk '{ print $5}') #$根据实际情况指定 let use_num=$(disk_used%"%"*)  # 取数值,根据disk_used的值,从右往左第一个字符%起截取所有字符 let limit_num=90  #定义极限值 # -ge 大于等于,-le 小于等于 -gt 大于 -lt 小于 -ne不等  -eq相等   if [ $use_num -ge $limit_num ];then        echo $use_num         nohup 绝对路径/tomcat_stop_by_clean.sh &        sleep 10        #检查tomcat是否停止        tomcat_pid=$(ps -ef|grep tomcat|grep 关键字)        if [ $tomcat_pid -eq 1];then             echo "tomcat stop not done...,pls check!"        else             #重启tomcat             nohup 绝对路径/tomcat_restart_by_clean.sh &             #检查tomcat进程             tomcat_restart_pid=$(ps -ef|grep tomcat|grep 关键字)             if [ $tomcat_restart_pid -eq 1];then                 echo "tomcat restart succ!"             else                 echo "tomcat restart err, pls check!"         fi else        echo "disk use normal" fi                                       

标签:检查和,num,tomcat,echo,sh,clean,linux,磁盘,restart
来源: https://www.cnblogs.com/yinzone/p/16492075.html