aix unix 6.1 - 'find' 命令未通过 cronjob 执行;但可以从外壳
Posted
技术标签:
【中文标题】aix unix 6.1 - \'find\' 命令未通过 cronjob 执行;但可以从外壳【英文标题】:aix unix 6.1 - 'find' command not executing via cronjob; but ok from shellaix unix 6.1 - 'find' 命令未通过 cronjob 执行;但可以从外壳 【发布时间】:2014-12-03 18:33:36 【问题描述】:在我的主目录中非递归查找超过 1 分钟的文件并更新它们的时间戳
* * * * * /usr/bin/find /home/me/ \( ! -name . -prune \) \( -type f -mmin +1 -name "*" \) -exec /usr/bin/touch \;
它像 shell 的魅力一样运行,但不像 cronjob。
我试过这个修改:
* * * * * /usr/bin/find /home/me/ \( ! -name . -prune \) \( -type f -mmin +1 -name "*" \) -exec /usr/bin/touch \\;
还有这个:
* * * * * /usr/bin/find /home/me/ \( ! -name . -prune \) \( -type f -mmin +1 -name "*" \) -exec /usr/bin/touch -- \;
还是不开心。
避免使用包装器 - 调用此查找命令的脚本。
感谢任何关于如何使 cronjob 工作的想法和指示。谢谢。
【问题讨论】:
【参考方案1】:您应该会收到带有错误的邮件。我得到了这个:
sh: 0403-057 Syntax error at line 1 : `(' is not expected.
所以我将 \ 加倍为 \\。那可能行得通。我不清楚 find 命令应该在做什么。
为了调试它,我会在命令前加上一个简单的“echo”,然后将输出捕获到文件中。事实上,在调试过程中,我会添加一个 -print 并将其捕获到一个文件中,并将 stderr 捕获到一个单独的文件中,直到它工作为止。
【讨论】:
以上是关于aix unix 6.1 - 'find' 命令未通过 cronjob 执行;但可以从外壳的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Perl 中使用带有管道的 Unix/AIX find 命令?
AIX Unix find 命令获取第一个元素然后移动到下一个元素