社区
Linux/Unix社区
帖子详情
如何用shell实现 删除创建时间超过指定时间的文件?
bluesky85
2010-08-03 10:07:16
请问下如何用shell实现删除指定创建时间的文件?
如,我想删除创建时间超过N小时的缓存文件,这个shell该如何写呢?谢谢!
...全文
703
7
打赏
收藏
如何用shell实现 删除创建时间超过指定时间的文件?
请问下如何用shell实现删除指定创建时间的文件? 如,我想删除创建时间超过N小时的缓存文件,这个shell该如何写呢?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
s030702614
2010-08-11
打赏
举报
回复
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
与文件相关的几个时间:
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
如果编程实现,可以用time函数加以判断就可以了
定时任务可以用crontab,具体可见:http://blog.csdn.net/s030702614/archive/2010/01/14/5188441.aspx
gdh7201
2010-08-11
打赏
举报
回复
thanks!
masmaster
2010-08-03
打赏
举报
回复
版主对linuxsir很熟悉吗
steptodream
2010-08-03
打赏
举报
回复
然后用find命令把这些文件找出来 删除
请参照http://www.linuxsir.org/main/?q=node/137
注意上面网址里的那些命令里{}之间看上去有空格 其实是没有的 你在使用的时候别加空格
steptodream
2010-08-03
打赏
举报
回复
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。
1.但如果文件创建后就没有修改过,修改时间=创建时间;
2.如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;
3.如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
你先确认 你是属于哪种情况!
steptodream
2010-08-03
打赏
举报
回复
[Quote=引用 4 楼 bluesky85 的回复:]
自己顶起,呵呵
我要在此基础上实现定时删除的话,应该如何实现呢?
[/Quote]
把你的删除命令 写到一个脚本里
然后添加到crontab计划任务 比如每天12点执行一次 就行了啊
http://blog.csdn.net/sipsir/archive/2009/03/08/3973713.aspx
bluesky85
2010-08-03
打赏
举报
回复
自己顶起,呵呵
我要在此基础上实现定时删除的话,应该如何实现呢?
LINUX超强归纳总结秘籍 [华为内部培训文档]
这个是网络上搜索到的,不知道有朋友上传没有,资料很完整,是华为内部linux资料,各命令,各种技巧都很全,归纳的很好,希望可以帮到大家! 高清文字,高含金量文档,高实用技巧,下载绝不忽悠 一共有4章: 1:命令行操作以及常用命令使用 2:
文件
查看以及编辑查找技巧 3:网络配置以及操作秘籍 4:常用使用技巧
shell
定时
删除
创建
日期大于某个
时间
的
文件
可以使用 find 命令来
删除
创建
日期大于某个
时间
的
文件
。 例如,要
删除
创建
日期大于1个月的
文件
,可以使用如下命令: find /path/to/dir -mtime +30 -delete 要将此命令定时运行,可以使用 cron 服务。首先,编辑 crontab
文件
: crontab -e 然后,在
文件
中添加以下内容,表示每天的 0 点执行一次
删除
命令: 0 0 * * * find /p...
shell
删除
创建
时间
超过
指定
时间
的
文件
find . -name "backup_*.gz" -mtime +7 -exec rm {} \; n小时
创建
把-mtime +7 改为-cmin n -amin n 查找系统中最后N分钟访问的
文件
-atime n 查找系统中最后n*24小时访问的
文件
-cmin n 查找系统中最后N分钟被改变状态的
文件
-ctime n 查找系统中最后n*...
shell
定时
删除
某
文件
夹下
创建
日期大于某个
时间
的
文件
您可以使用 find 命令来
实现
这一目的。例如,要
删除
某
文件
夹下
创建
日期大于 30 天的
文件
,可以使用以下命令: find /path/to/folder -type f -ctime +30 -delete
shell
脚本
删除
超过
指定
大小的日志
文件
#
shell
脚本
删除
超过
指定
大小的日志
文件
#!/bin/sh filename=$1 #输入要
删除
的
文件
带绝对路径 size=$2 #输入
文件
删除
的临界值,以G为单位 checkfilesize() { time=$(date "+%Y-%m-%d %H:%M:%S") #获取当前系统
时间
if [ ! -f "$filename" ] #没有
文件
则
创建
文件
t
Linux/Unix社区
18,829
社区成员
11,501
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章