无法使用 crontab 安排 bash 脚本

无法使用 crontab 安排 bash 脚本

我快要疯了,因为不明白我做错了什么。

我编写了这个 bash 脚本来使用 nohup 运行 php 脚本。它看起来像这样:

#!/bin/bash
nohup /usr/bin/php /opt/bitnami/nginx/html/folder/script.php $argv > fileoutput.txt 2>&1 &

当我在终端中运行 ./script.sh 时,它确实有效,如果我 grep php,我可以看到正在运行的进程,并且我的数据库也更新了。

现在我尝试使用 crontab 自动执行此过程,具体指令如下:

43 * * * * /bin/sh /opt/bitnami/nginx/html/folder/script.sh

我只是改变了当前的时间来测试自动化,因为当我设法让它工作时,我将添加一个要执行的 $argv 循环。

我已将 chmod 777 应用于 script.sh,现在我真的不知道还能修复什么。

提前致谢!

答案1

桌面的运行时环境与cron运行时环境不同。阅读man 5 crontab并运行

(echo "=== set ===";set;echo "===env ==="; env | sort;echo "=== alias ===";alias)

在两种环境中,并比较结果。

相关内容