我已经采取了这个:
find -maxdepth 1 -mtime +1 -type f -exec cp '{}' backup \;
它将当前目录中超过 1 天的所有常规文件复制到目录备份中(假设目录备份存在)。
和这个:
find . -mmin -40
应该可以找到最近 40 分钟内修改的文件。
给出这个:
find -mmin -30 -exec cp '{}' backup \;
但我不知道下一步该做什么。
如何修改上述语句以将过去 30 分钟内的 所有文件和目录复制/nmt
到 到,覆盖./home/pi/box/street_pictures
/home/pi/box/street_pictures
实际上,我希望将拍摄并放置在/nmt
目录中的图片的半小时滚动快照显示在/home/pi/box/street_pictures
目录中。
如果我每分钟运行此命令,是否可以这样做,这样我就不必每次都清除目录并重新复制整个小时?
答案1
要复制不到 30 分钟的文件(但不覆盖文件):
find /nmt/ -cmin -30 -type f -exec cp -pn '{}' /home/pi/box/street_pictures/ \;
然后删除/home/pi/box/street_pictures
超过 30 分钟的文件
find /home/pi/box/street_pictures -cmin +30 -type f -exec rm '{}' \;
如果其中每一个都按照您的意愿行事,您可以将它们放入脚本中,并在 cron 中每分钟或您认为最好的任何时间窗口运行该脚本。