Linux添加日常任务监控文件或日志大小

1、使用命令"vi/vim xxx.sh"编写shell脚本文件 

 

 1 #!/bin/bash
 2 #author yangli
 3 #date 20190601
 4 
 5 #设置文件检测路径
 6 file_check_path="/home/apps"
 7 #设置文件检测上限(单位/M):1G=1024M
 8 file_limit_size=1024
 9 
10 #获取检测路径下最大文件的大小和路径
11 file_size=$(find /home/apps -type f -size +${file_limit_size}M | xargs du -hm | sed -n "1,1p" | awk '{print $1}')
12 file_path=$(find /home/apps -type f -size +${file_limit_size}M | xargs du -hm | sed -n "1,1p" | awk '{print $2}')
13 
14 #当文件大于上限值时,进行操作
15 if [ ${file_size} -gt ${file_limit_size} ]
16 then
17   #进行的操作,这里使用清空
18   echo $(date "+%Y-%m-%d %H:%M:%S")" -> 文件\""${file_path}\""大小"${file_size}"M超出限制大小"${file_limit_size}"M -> 进行清空操作" >> /home/jobs/file_check.log
19   echo " " > ${file_path}
20 else
21   echo $(date "+%Y-%m-%d %H:%M:%S")" -> 没有超出限制大小的文件" >> /home/jobs/file_check.log
22 fi

为便于查看,18和21行将检测情况追加写入文件"/home/jobs/file_check.log"。

2、查看效果

运行前:

运行后:

检测日志:

3、设置定时任务

3.1使用命令"crontab -e"创建定时任务

1 #每天凌晨1点检测文件大小
2 0 1 * * * /home/jobs/check_file.sh

3.2 使用命令"crontab -l"查看

posted @ 2019-06-02 00:23  时の封印  阅读(1856)  评论(0编辑  收藏  举报