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 执行;但可以从外壳的主要内容,如果未能解决你的问题,请参考以下文章

AIX--操作系统安装(AIX 6.1)

如何在 Perl 中使用带有管道的 Unix/AIX find 命令?

AIX Unix find 命令获取第一个元素然后移动到下一个元素

Unix Study之--AIX 6.1配置网络安装服务

AIX 6.1 上的编译错误 - 未定义符号:.__gcc_qsub

Unix Study之--AIX6.1 Install hacmp6.1