【问题标题】:Sh script not running using cron while running using terminal manually手动使用终端运行时未使用 cron 运行 Sh 脚本
【发布时间】: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 这台机器已经是一台测试机器,我可以做任何我想做的事情+我要求删除日志文件,这在我的情况下是绝对安全的,但感谢您指出它。你的答案是正确的“。”没有指向我想要的地方

标签: linux shell cron


【解决方案1】:

正如@Shawn 和@user1834428 在评论中提到的“。”在我的脚本中没有指向我想要的地方。

【讨论】:

    猜你喜欢
    • 2011-09-03
    • 2016-09-07
    • 2019-07-27
    • 2013-11-01
    • 1970-01-01
    • 2015-05-15
    • 2019-02-21
    • 2011-09-15
    • 2012-04-18
    相关资源
    最近更新 更多