所以我认为问题最有可能是路径。但我对如何正确设置它感到困惑。
所以我的脚本的顶部看起来像:
#!/bin/sh
MYSQL="$(which mysql)"
if [ -z "$MYSQL" ]; then
echo "Error: MYSQL not found"
exit 1
fi
当我在 ssh 中运行脚本时,它运行良好!但是当我设置 cron 时,在 directadmin 中使用这些命令:
/home/username/script.sh
也试过:
/bin/sh /home/username/script.sh
他们都给我以下错误:
Error: MYSQL not found
所以这是我在网上找到的:
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
我假设我需要在我的脚本中添加至少一个上述语句。该服务器是一个 freebsd 服务器,我假设一切都在默认位置。我知道当我执行 whereis sh 时它会返回 /bin/sh
我不知道如何检查 PATH 或 home。我是 freebsd 的新手,所以任何帮助都会很棒。