[bash]删除超过时间范围的旧文件

如下所示的bash脚本,删除/home/abc/tmp目录下,三天前的所有文件及文件夹

#!/bin/bash 

DATA_PATH=/home/abc/tmp
NUM_DAYS=3

TIME_SPAN=$[$NUM_DAYS*24*3600]
TIME_CUR=$(date -u +%s)
for file_name in $(ls $DATA_PATH); do
	file_time=$(stat --printf=%Y $file_name)
	cur_span=$[$TIME_CUR - $file_time]
	if [ $cur_span -gt $TIME_SPAN ]; then
		rm -rf $DATA_PATH/$file_name	
	fi	
done

猜你喜欢

转载自blog.csdn.net/adream307/article/details/88637761