Bash 是否查找过去30分钟内未访问/修改的文件?
我有一个要求,我想通知那些在Bash 是否查找过去30分钟内未访问/修改的文件?,bash,shell,Bash,Shell,我有一个要求,我想通知那些在30分钟内未访问文件的用户。使用shell脚本。是否可以使用find查找在30分钟内未访问的文件。我查过了 find /opt/SP/tibmft/scripts/ -mtime 0 将获取在过去24小时内修改的文件 我的要求是获取在过去30分钟内创建但用户未访问的文件?请建议解决方案,如何实现这一点?尝试使用 find PATH -cmin -30 -and -amin +30 是否可以使用find查找30分钟内未访问的文件 根据《人类发现》: 数值参数可以指定
30分钟内未访问文件的用户。使用shell脚本。是否可以使用find查找在30分钟内未访问的文件。我查过了
find /opt/SP/tibmft/scripts/ -mtime 0
将获取在过去24小时内修改的文件
我的要求是获取在过去30分钟内创建但用户未访问的文件?请建议解决方案,如何实现这一点?尝试使用
find PATH -cmin -30 -and -amin +30
是否可以使用find查找30分钟内未访问的文件
根据《人类发现》
:
数值参数可以指定为
+n
大于n时
-n
小于n时
n
用于精确的n
请注意,这是大于和小于而不是大于/小于或等于。因此,您必须小心谨慎,以免出现1分钟的错误:
find PATH -not -amin +30
或
我的要求是获取在过去30分钟内创建但用户未访问的文件
以下是一个尝试:
find PATH -amin -31 -not -newerBt "-30 minutes"
# ^^^^^^^^
# (B)irth date newer (t)han ...
。。。不幸的是,它在我使用ext4文件系统的计算机上不起作用,正如上面引用Barmar
的一句评论所说:“大多数Unix文件系统不记录文件创建时间。它们只有修改、访问和inode更改时间。”
一些随意的想法:
- 根据你的一条评论,这可能是一项定期任务。因此,人们可能会研究如何使用a来定期记录文件列表
- 如果您的文件系统有,您也可以在此基础上构建。也许吧
尝试以下操作:
find $PATH -type f -cmin -30 amin +30
我认为ls-l会给出一个列表以及上次修改时间,大多数Unix文件系统不会记录文件创建时间。他们只有修改、访问和inode更改时间。我同意这一点,但如何防止获取所有文件,我需要仅在当天创建的文件。?@Sushma您能否确认:“今天创建”和“过去30分钟内未访问”?当前脚本将以30分钟的间隔运行,要检查在过去30分钟内创建但尚未访问/修改的文件?@Sushma您没有提到这是一项定期任务。由于FS的限制,您无法继续使用简单的find
命令进行此操作。您必须在给定时间以某种方式记录文件列表。并在下面的运行中使用它来检查“新文件”——最终在这些文件上使用find
来检查访问时间。我可以建议你用这种方法做一些实验吗?如果需要的话,可以问另一个问题吗?
find $PATH -type f -cmin -30 amin +30