【发布时间】:2021-04-29 17:23:30
【问题描述】:
我的托管服务提供商面板不允许添加下一个 cron 作业命令:
"/home/username/.acme.sh"/acme.sh --cron --home "/home/username/.acme.sh" > /dev/null
由于“某些字符不允许用于 cron 作业命令”错误。
在阅读了this post 的相关信息后,我试图了解如何从脚本 (~/run-acme.sh) 运行它并将其添加到 cron 作业中,但不知道该怎么做(该示例使用PHP 脚本)。
这是run-acme.sh 脚本的内容,但不知道在命令前写什么(source、. 或bash),正如this answer 建议的那样:
选项 1:
#!/usr/bin/bash
bash "/home/username/.acme.sh"/acme.sh --cron --home "/home/username/.acme.sh" > /dev/null
选项 2:
#!/usr/bin/bash
source "/home/username/.acme.sh"/acme.sh --cron --home "/home/username/.acme.sh" > /dev/null
选项 3:
#!/usr/bin/bash
. "/home/username/.acme.sh"/acme.sh --cron --home "/home/username/.acme.sh" > /dev/null
这些选项中的哪一个会起作用?它们的运行结果是否相同?
重要提示:无权访问 crontab/SSH
【问题讨论】:
-
如果标题不是很清楚但我不知道如何命名(可能很长),请原谅
-
如果你试图在另一个 shell/bash 中运行一个 shell/bash -- 只需使用
sh /var/www/yourfile.sh或bash /var/www/yourfile.sh-- 它会将脚本中的命令分叉到子进程中。如果我正确理解您的问题,就足够简单了.. -
是什么让人们失望..
--cron --home不是“标准”标志,所以你想要完成的可能需要更多解释/澄清。 -
@Zak 对 cron 一无所知,但
--cron --home是来自acme.shscript 的参数 -
看起来重定向
>是不允许的。因此,将该行放入脚本中并简单地调用它。