【发布时间】:2016-11-19 07:29:57
【问题描述】:
我有一个 bash 脚本,我想每 15 分钟执行一次,所以我在我的 crontab 中添加了这一行:
7,22,37,52 * * * * /path/to/my/script.sh
如果我只是从任何目录手动运行/path/to/my/script.sh,我已经检查了目录路径是否正确并且脚本可以正常运行。我的脚本中有这条爆炸线:
#!/usr/bin/env bash
我的脚本还引用了与它相同目录中的其他脚本,并且我在所有需要的脚本上运行了chmod +x。我将MAILTO 设置为我的电子邮件地址,当我将 crontab 中的行更改为:
7,22,37,52 * * * * sh /path/to/my/script.sh
但我在使用时从未收到过电子邮件
7,22,37,52 * * * * /path/to/my/script.sh
或
7,22,37,52 * * * * bash /path/to/my/script.sh
我确保 cron 正在运行,并且我还尝试将脚本的输出重定向到一个日志文件,该文件也仅在我包含 sh.但是,如果我从主目录运行sh /path/to/my/script.sh,它就不起作用。我的脚本实际运行的唯一方法是(从任何目录)我调用/path/to/my/script.sh 或bash /path/to/my/script.sh。我是编写 bash 脚本的新手,因此非常欢迎任何帮助。
【问题讨论】:
-
关于使用
cron的问题更适合superuser.com或unix.stackexchange.com。 -
啊,是的。我忘记了……但是配置 cron 对许多人来说是一个常见的问题。
标签: linux bash shell path cron