当磁盘达到一定值时,自动清理日志文件脚本

脚本内容:

#!/bin/bash
#monitor available disk space
dir='/home/zabbix'      ##文件所在路径
threshold=30            ##定义磁盘值
SPACE=$(df -P| sed -n '/\/$/p' | gawk '{print $5}' | sed  's/%//')  ##筛出当前磁盘占用值
cur_date=$(date "+%Y-%m-%d %H:%M:%S")
echo "====$cur_date start===="
if [ $SPACE -ge $threshold ]  ##当前磁盘值>=定义磁盘值,则执行以下命令
then
    oldest_file=$(cd $dir && ls -alt| grep nohup.out| gawk '{print $9}') ##筛出需要清除的文件名
    remove=$(echo '' > $oldest_file) ##清空文件内容
fi
echo "====$cur_date end===="
添加到定时任务执行即可:

crontab -e

  *           *        *        *        *           command

minute   hour    day   month   week      command

分          时         天      月        星期       命令

你可能感兴趣的:(运维)