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 EOFtomcat_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