我有一个 shell 脚本,如果它没有运行,它会启动一个乘客实例:
#!/bin/bash
/usr/sbin/lsof -i :82 > /home/var/www/site-owner/data/www/site.com/currenttest
if [ ! -s /home/var/www/site-owner/data/www/site.com/currenttest ];
then
cd /home/var/www/site-owner/data/www/site.com/current/
passenger start -p 82 -d -e production --user site-owner
fi
如果我从 root ssh 环境启动它,它会非常好用。我尝试从 crontab 启动它,但它没有以错误开头:“passenger_loader.sh:第 12 行:乘客:找不到命令”。
经过数小时的谷歌搜索,我发现来自 root 用户和 root 控制台用户的 crontab 有不同的环境,但无论如何,我不明白如何让 crontab root 用户像 root 控制台用户一样运行脚本。我开始添加
source ~/.bash_profile
source ~/.bashrc
到一个脚本,但它没有改变任何东西。