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

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

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式