sh 每天运行并检查磁盘空间是否小于5 GB,然后删除一些文件,直到可用空间大于5 GB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 每天运行并检查磁盘空间是否小于5 GB,然后删除一些文件,直到可用空间大于5 GB相关的知识,希望对你有一定的参考价值。

#!/bin/sh
# set -x
# Shell script to monitor or watch the disk space


cd /home/camera/FI9831P_00626E654229/record

free=`df -k --output=avail "$PWD" | tail -n1`
treshold=5000000 #5GB Free space needed

if [ $free -lt $treshold ]; then
  echo "less than 10GBs free! Cleaning some files"

  while [ $free -lt $treshold ]
    do
      oldest_file="$(ls -lt | grep -v '^d' | tail -1 | awk '{print $NF}')"
      file_size=`stat --printf="%s" $oldest_file`
      echo Removing $oldest_file with size $file_size bytes.
      rm $oldest_file
      # sleep 1
      free=`df -k --output=avail "$PWD" | tail -n1`
      echo Used space after removal $free
    done
else
  echo $free are in available
fi;

以上是关于sh 每天运行并检查磁盘空间是否小于5 GB,然后删除一些文件,直到可用空间大于5 GB的主要内容,如果未能解决你的问题,请参考以下文章

怎么在linux下安装oracle数据库

centos磁盘扩容-新空间增加到已有分区空间中

LIUNX-系统配置及服务管理 -交换分区管理 SWAP

LINUX虚拟机磁盘在线扩容不重启

Linux下每天自动执行查看磁盘剩余空间的shell文件

Cassandra 磁盘空间开销