求解!!! shell脚本: 要求 判断指定文件最后修改的日期是否是今天,或者判断n天之内是否被修改。。
shell脚本:要求判断指定文件最后修改的日期是否是今天,或者判断n天之内是否被修改。。是的话则执行删除n天之前日志备份操作,不是的话则不执行任何操作。求解!!!!...
shell脚本:
要求 判断指定文件最后修改的日期是否是今天,或者判断n天之内是否被修改。。
是的话则执行删除n天之前日志备份操作,不是的话则不执行任何操作。
求解!!!! 展开
要求 判断指定文件最后修改的日期是否是今天,或者判断n天之内是否被修改。。
是的话则执行删除n天之前日志备份操作,不是的话则不执行任何操作。
求解!!!! 展开
2个回答
展开全部
$dir_name= # 要删除的文件所在文件夹
$file_name= #要删除文件的文件名,可使用*等通配符
find $dir_name -name "$file_name" -mtime +3 | xargs rm -rf #删除3天前的符合条件的文件
追问
不是这个样子的!
要先判断指定文件的最后修改日期,是不是今天。是的话才能执行删除几天前的日志备份。
这个指定文件是系统输出的日志,这个日志不是备份日志。如果输出了 才能去删除备份的日志,不输出就不要动
展开全部
#!/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
# 备份天数
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询