【问题标题】:find and mtime operation excluding folder mtime查找和 mtime 操作,不包括文件夹 mtime
【发布时间】:2013-06-19 18:50:39
【问题描述】:

您好,我有一个通过 crontab 执行的备份 shell 脚本,但我有一个相当大的问题。 这是扫描我的驱动器的特定行:

find $E -mtime -1 -exec cp -r --parents {} $B/$T \;

其中 E 和 B 是保存目录路径的变量,而 T 保存当前日期。它检查过去一天内已编辑的所有文件并将它们复制到新目录。由于--parents 参数,文件夹结构保持不变。我遇到的问题是,这似乎也检查了所有文件夹的 mtime,这意味着如果我要更改一个非常大的文件夹中的单个文件,整个文件夹将在备份期间被复制,占用不必要的磁盘量空间。有什么办法可以从等式中删除文件夹 mtime 吗?我想只要--parents 参数仍然有效,就有可能从搜索中排除文件夹本身(而不是它们的内容)。

【问题讨论】:

    标签: unix find directory cp filemtime


    【解决方案1】:

    我猜你只想将此应用于常规文件 -

    find $E -type f -mtime -1 -exec cp -r --parents {} $B/$T \;
    

    否则

    find $E ! -type d -mtime -1 -exec cp -r --parents {} $B/$T \;
    

    也可以获取其他类型的文件,跳过对目录年龄的评估。

    【讨论】:

    • 感谢您的好评!其他类型包括什么?这像符号链接吗?
    • 符号链接、管道等。通常人们希望避免搞乱诸如此类的事情。
    • 破折号继续输入:-type then [f, d, l, or anything with no dash]
    猜你喜欢
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多