clear_record_file.sh 

#!/bin/bash

logfile=/tmp/$(date +%H-%F).log
n=$(date +%H)
if [ $n -eq 00 ] || [ $n -eq 12 ];then
  for i in $(find /tmp -type f)
  do
  true > $i
  done
else
  for i in $(find /tmp -type f)
  do
  du -sh $i >> $logfile
  done
fi
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

验证:

[root@logstash ~]# sh clear_record_file.sh 
[root@logstash ~]# cd /tmp/
[root@logstash tmp]# ls
11-2024-06-28.log  2024  md5_check.log  mysql_count.log  snapshot
[root@logstash tmp]# cat 11-2024-06-28.log 
4.0K	/tmp/2024/06/21/1.txt
4.0K	/tmp/2024/06/21/2.txt
4.0K	/tmp/2024/06/21/3.txt
4.0K	/tmp/snapshot
20K	/tmp/md5_check.log
4.0K	/tmp/mysql_count.log
4.0K	/tmp/11-2024-06-28.log
[root@logstash tmp]#
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.