【问题标题】:Find command only scanning sub folders and not only copying files from the last day查找命令仅扫描子文件夹,而不仅是从最后一天复制文件
【发布时间】:2013-06-03 18:14:06
【问题描述】:

我想要一个 crontab 命令,它每天早上都会检查文件夹 /home/user/USBHD/Movies 中的文件,以查找不到一天的文件,然后将它们复制到我的 /home/user/NASVD/Movies 中而不会覆盖。我尝试了以下方法,但这不起作用,因为它似乎只扫描子文件夹并且仍然复制所有文件,无论它们在什么时间制作..

01 08 * * * /usr/bin/find /home/user/USBHD/Movies/ -mtime 1 -exec cp -n {} /home/user/NASVD/Movies \;

有人有什么想法吗?

我在开始时尝试了没有 cronstuff 的命令,但它没有按应有的方式工作,就像已经解释的那样。

希望你们能帮忙;)

编辑:我试过 /usr/bin/find /home/user/USBHD/Movies/ -mtime +1 -exec cp -n {} /home/user/NASVD/Movies \;但这根本没有任何作用..

编辑:::::::::::::::::::: /usr/bin/find /home/user/USBHD/Movies/ -mtime 1 -exec cp -n {} /home/user/NASVD/Movies \;

我发现这个字符串有问题 它应该是什么:

 /usr/bin/find /home/user/USBHD/Movies/ -mtime '-1' -exec cp -n {} /home/user/NASVD/Movies \;

感谢您的帮助;D

【问题讨论】:

    标签: linux cron find debian


    【解决方案1】:
    /usr/bin/find /home/user/USBHD/Movies/ -mtime +1 -exec cp -n {} /home/user/NASVD/Movies \;
    

    两点 - 这将继续复制超过 1 天的文件 - 包括 2 ,3 ,4 ... 永远。另外我希望这在用户的 crontab 中运行,以便文件权限正常工作。如果这是 root 的 crontab,则复制的文件将归 root 所有。此脚本也不会删除第 1 天及以上的文件,它只是复制它们。所以:正如我所说,它总是会复制任何 1 天以上的文件。

    如果您将cp 更改为mv,该文件将从第一个目录中消失并移至第二个目录,

    【讨论】:

    • 您好,非常感谢。我看不到根目录中的 crontab 造成的伤害,但现在我看到了 xD。非常感谢你。是否有一个任务需要 root 才能完成?比如删除脚本或解压缩脚本?
    • 好吧,我试过你的行,但现在它什么也没做。我在文件夹名称 HIIII.txt 中创建了一个文件,并用文本填充它,但它没有将它复制到另一个文件..有什么想法吗?
    • 您是否将新文件上的 mtime 更改为超过 24 小时前?为此,您使用 touch -t [new date] [filename] 命令。如果不是这种情况,那么我没有得到你想要的。
    猜你喜欢
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    相关资源
    最近更新 更多