我创建了一个简单的bash脚本:查找一些文件并执行命令。 此命令必须输出每次执行时需要存储的内容。
所以,我有类似的东西:
find /some/folder/ -name "*txt" -exec /bin/sh -c "/path/command -x -f {} > {}.pdf" \;
所以,我会在 / some / folder / 中找到txt文件,并且我将执行 / path / command 并将文件路径传递给参数 -f / path / command 并将获得二进制文件,因此我只需要输出并添加后缀 .pdf 。
问题在于,当我手动执行此操作时,一切都很顺利。 但当我把它放在一个cron中时,会发生这种情况:
请注意,如果我通过命令行(而不是cron)执行此操作,一切都很顺利。
我在这里做错了吗?
感谢您的支持。
答案 0 :(得分:0)
你应该使用绝对值。
'/ usr / bin / find'instaed'find'
要查看错误,请以这种方式调用命令行
env -i mycommands ....
这将剥离会话环境,并在与cron环境非常相似的环境中运行命令。
然后更正crontab中的条目。