【发布时间】:2021-06-12 16:45:21
【问题描述】:
我有一个脚本 .sh 可以在手动执行时工作,但不能通过 cron 工作:
#!/bin/sh
sudo find . -name "*.log" -delete
还有其他 .sh 可以完美地与 cron 一起运行。
我不知道为什么这个不起作用。
我比较了终端和 cron 的 env 输出,除了使用 cron 具有更高权限的用户之外,两者都相似:
echo env > output.txt
这个脚本和其他脚本的唯一区别是文件的位置。
如果有人遇到类似问题或知道如何获得更精确的日志。
提前谢谢你
【问题讨论】:
-
也许您可以添加
sudo pwd看看它提供了什么。 -
您的脚本可能没有在您认为的当前工作目录下运行。
-
@Castiell :从 cron 运行文件删除
sudo命令而不对其进行测试是非常勇敢的(即让它显示它实际删除的文件)。毕竟,.很可能表示 cron 上下文中的目录与终端中的不同。 -
@user1934428 这台机器已经是一台测试机器,我可以做任何我想做的事情+我要求删除日志文件,这在我的情况下是绝对安全的,但感谢您指出它。你的答案是正确的“。”没有指向我想要的地方