求解!!! shell脚本: 要求 判断指定文件最后修改的日期是否是今天,或者判断n天之内是否被修改。。

2024-11-25 22:39:28
推荐回答(2个)
回答1:

$dir_name=     # 要删除的文件所在文件夹
$file_name= #要删除文件的文件名,可使用*等通配符
find $dir_name -name "$file_name" -mtime +3 | xargs rm -rf #删除3天前的符合条件的文件

回答2:

#!/bin/sh
# 备份天数
BAK_DEL_DAYS=5
# 指定的文件
FILE_NAME=""
# 备份日志所在的目录
LOG_DIR=""

FILE_NAME=`basename ${FILE_NAME}`
DIR_NAME=`dirname ${FILE_NAME}`

# 如果找到备份天以内修改的指定文件,认为需要删除备份日志。
IsDelFlag=`find ${DIR_NAME} -name ${FILE_NAME} -mtime -${BAK_DEL_DAYS} | wc -l`
if [ "${IsDelFlag}" == "1" ]
then
find ${LOG_DIR} -name * -mtime +${BAK_DEL_DAYS} -exec rm -rf {} \;
echo "Delete backup log of ${BAK_DEL_DAYS} dayes ago."
fi