我一直在摸索着我的头脑。 我有一个由root cron作业运行的脚本。 该脚本执行,但脚本内有一个不会执行的脚本。 这里是我们称之为SCRIPTA在shell脚本中执行shellscript
#!/bin/bash
lines=`wc -l < /var/www/log/addme`;
DATE=`date +%Y-%m-%d`
if [[ $lines > 4 ]];
then
echo " " > /var/www/log/addme
RESTART=/var/www/log/restart.sh
$RESTART
else
echo "No new hosts added" | wall
fi
基本上什么restart.sh脚本做是为了重新启动服务。当我从终端运行它们 一切都运行得很好,但不能作为cron作业... 我也试图只是把
./restart.sh
/var/www/log/restart.sh
但随着相同的结果。 有什么想法?
cron作业是以超级用户还是以其他用户身份运行?用户是否可以访问/ var/www/log?你有没有试过记录第一个脚本尝试调用第二个脚本时发生了什么(将'$ RESTART'更改为'$ RESTART> /var/tmp/foo.log 2>&1')? –
'/ var/www/log/restart.sh'上有什么权限?它是可执行的吗?如果没有,你可以'chmod + x',或者在脚本A中用'bash $ RESTART'运行它。 – ghoti
此外,设置了'MAILTO'可变你的crontab里面,这样就可以看到由工作产生什么错误。 – ghoti