0

我有一个 cronned “cp *.html” 命令,每分钟在 OSX 机器上运行一次。源文件从数据库重新生成并写入源目录就好了。cp 命令通常会拾取它们并刷新 /Library/WebServer/Documents 中的副本(这是用于监控我们的一个进程的快速而肮脏的内部网站 - 我们不想花费任何额外的周期来维护应用服务器或任何类似的东西,所以我们只是使用 OSX 的内置 Apache 副本和默认设置。)

我们注意到,当我们将新的 foo.html 页面添加到源目录时,cronned cp 命令在我们手动复制一次之前不会开始复制它,即使它与 *.html 模式匹配。这似乎很疯狂。权限和所有权都以相同的方式设置(rw-r--r-- 两个目录中的所有内容)。

有任何想法吗?如果我不知道出了什么问题,我可能会重写它以使用 rsync,但这似乎是一种逃避。

4

1 回答 1

1

我不确定,但看起来 cron 只扩展 '*' 一次(也许在第一次调用时?)。尝试将其用作命令:

sh -c 'cp $OUR_DATA/reports/*.html /Library/WebServer/Documents'

这样,您的通配符每次都会从头开始扩展。

于 2009-12-28T21:21:40.317 回答