Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 是否查找过去30分钟内未访问/修改的文件?_Bash_Shell - Fatal编程技术网

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