【发布时间】:2013-07-25 21:05:54
【问题描述】:
我有一个带有以下命令的 bash 脚本
command1 < input.txt > output.txt
当我运行它时,将创建 output.txt 文件并填充近 5mb 的数据。问题是当它由 cron 运行时它不起作用。它创建文件 output.txt 但它是空的。我相信发生的事情是它没有从 input.txt 读取输入,因此 command1 立即退出,创建输出文件但不打印任何内容。
任何人都知道发生了什么以及如何解决?
编辑: 在尝试了很多选项之后,问题似乎是 cron 配置为重定向标准输入,所以无论我重定向标准输入还是管道进程,都无法从标准输入读取任何内容。 ¿ 有什么解决办法吗?
【问题讨论】:
-
您始终可以创建一个包含
command1 < input.txt > output.txt的独立脚本,然后从cron运行这个新脚本。您可以轻松调试它... -
运行
cron失败会发送邮件。检查您的邮件日志。同样,当cron运行时,它会在不同的环境中运行。所以考虑为input.txt和output.txt提供绝对文件路径 -
我知道 cron 应该发送邮件,但在我工作的环境中它不会发送它。我也在使用绝对文件路径。