我正在尝试使用网络界面制作一个闹钟(在我的Raspberry Pi上)。
我想用PHP和crontab来做这个。
这是我的PHP代码:
shell_exec("./wake.sh $minutes $hours $days");
这是wake.sh脚本:
echo "number 1: $1; number 2: $2; number 3: $3" | wall;
(crontab -u $USER -l; echo "$0 $1 * * $2 /var/www/alarm.sh") | crontab -u $USER -
如果我从bash运行脚本(来自www-data用户),我会收到广播消息和crontab文件中的条目,但如果我从PHP脚本运行它,则会发送广播消息,但是在crontab文件中没有条目。
答案 0 :(得分:0)
我终于找到了答案:$USER
变量为空,如果我从PHP执行它。
现在我用:
(crontab -l; echo "$0 $1 * * $2 /var/www/alarm.sh") | crontab -
它有效!