查找在一定秒数前创建的文件,然后复制它

Posted

技术标签:

【中文标题】查找在一定秒数前创建的文件,然后复制它【英文标题】:Find files created over a certain number of seconds ago then copy it 【发布时间】:2014-09-04 23:41:24 【问题描述】:

所以我正在尝试制作一个脚本来监视至少 10 秒内未修改的文件,然后对文件执行 rsync。我的原话是这样的:

find "/Volumes/Media/" -type f -size +2G -cmin +1 -cmin -60 -exec rsync -aq --update  /Volumes/LocalMedia/ \;

但这确实是 1 分钟,太长了。到目前为止,我已经解决了这个问题:

find "/Volumes/Media/" -type f -size +2G -exec bash -c 'echo $(( $(date +%s) - $(stat -f%c "") ))' \;

它以秒为单位提供目录中文件的输出。但我似乎在评估和执行上述 rsync 时遇到了麻烦。这是 macosx,所以它是 bsd find 而不是 GNUfind。

任何想法/帮助都会很可爱。

谢谢, -N

【问题讨论】:

【参考方案1】:

您应该可以使用mtime 完成此操作:

find "/Volumes/Media/" -type f -size +2G -mtime +10s -exec rsync -aq --update  /Volumes/LocalMedia/ \;

使用-mtime +10s 将只返回find 早于10 seconds 的文件

【讨论】:

谢谢这似乎奏效了,我用 +10s 尝试了 mmin 和 cmin 但没有奏效,不知道要尝试 mtime,你摇滚。

以上是关于查找在一定秒数前创建的文件,然后复制它的主要内容,如果未能解决你的问题,请参考以下文章

在目录中查找最新文件并制作副本

在word文件中查找标题,然后使用python将整个段落复制到新的word文件中

FMS、Flex、VOD、RTMP videoDisplay 查找已加载视频的秒数

从 .SRT 文件中增加或减少秒数

从一个工作簿中查找单元格并将其复制到另一个工作簿

使用 Bash 查找和复制文件 [重复]