首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Unix中使用shell脚本删除超过10天的文件

在Unix中使用shell脚本删除超过10天的文件
EN

Stack Overflow用户
提问于 2012-11-21 16:46:13
回答 3查看 329.2K关注 0票数 149

我是shell脚本的新手,有人能帮我吗?我想删除文件夹中的脚本,从当前日期恢复到10天。脚本如下所示:

代码语言:javascript
复制
2012.11.21.09_33_52.script
2012.11.21.09_33_56.script
2012.11.21.09_33_59.script

使用Crontab,脚本将每10天运行一次,这就是为什么我需要当前日期的原因。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-21 16:54:10

find是完成这类任务的常用工具:

代码语言:javascript
复制
find ./my_dir -mtime +10 -type f -delete

解释

  • ./my_dir您的目录(替换为您的own)
  • -mtime +10早于10 days
  • -type f files
  • -delete,这并不奇怪。在执行整个find之前,删除它以测试您的command

筛选器

并且要注意./my_dir的存在,以避免不好的惊喜!

票数 481
EN

Stack Overflow用户

发布于 2013-07-26 19:57:07

我只是对上面的shell脚本进行了一些修饰,以删除较旧的文件,但需要记录日志并计算已用时间

代码语言:javascript
复制
#!/bin/bash

path="/data/backuplog/"
timestamp=$(date +%Y%m%d_%H%M%S)    
filename=log_$timestamp.txt    
log=$path$filename
days=7

START_TIME=$(date +%s)

find $path -maxdepth 1 -name "*.txt"  -type f -mtime +$days  -print -delete >> $log

echo "Backup:: Script Start -- $(date +%Y%m%d_%H%M)" >> $log


... code for backup ...or any other operation .... >> $log


END_TIME=$(date +%s)

ELAPSED_TIME=$(( $END_TIME - $START_TIME ))


echo "Backup :: Script End -- $(date +%Y%m%d_%H%M)" >> $log
echo "Elapsed Time ::  $(date -d 00:00:$ELAPSED_TIME +%Hh:%Mm:%Ss) "  >> $log

代码添加了一些东西。

以时间戳命名的

  • 日志文件指定的
  • 日志文件夹
  • find仅在日志文件夹中查找*.txt文件类型f确保您只删除files
  • maxdepth 1确保您不输入子文件夹<
  • >H112>超过7天的日志文件将被删除(假设这是备份日志)
  • 注意backup operation...

的开始/结束时间和已用时间

注意:要测试代码,只需使用-print而不是-print -delete。但是一定要仔细检查你的路径。

注意:请确保您的服务器时间通过- setup时区/ntp设置正确。另外,使用'stat filename‘检查文件时间

注意:mtime可以替换为mmin以实现更好的控制,因为mtime在处理获取日期上下文中文件的时间戳时会丢弃所有片段(大于2天(+2天)实际上表示3天

代码语言:javascript
复制
-mtime +$days  --->  -mmin  +$((60*24*$days))
票数 19
EN

Stack Overflow用户

发布于 2012-11-21 16:50:18

如果你负担得起通过文件数据工作,你可以这样做

代码语言:javascript
复制
find -mmin +14400 -delete
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13489398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档