每次我启动进入系统(Debian)并在桌面上将输出作为通知发送时,我都试图获取RAID状态。这在终端上可以正常工作:sudo mdadm --detail /dev/md0 | grep 'Working Devices :' | while read OUTPUT; do notify-send "$OUTPUT"; done
但是如果我运行crontab作业指向脚本,它将无法正常工作:
mdadm --detail /dev/md0 | grep 'Working Devices :' | while read OUTPUT; do notify-send "$OUTPUT"; done
该脚本被设置为可执行的,并且从crontab根运行为:
@reboot /PATH/scripth.sh
这也不起作用:
* * * * * /PATH/scripth.sh
并且在以下情况下不会生成日志:
* * * * * /PATH/scripth.sh > /PATH/crontab.log
此工作在我的PC中(更改用户名):
sudo mdadm --detail /dev/md0 | grep 'Working Devices :' | while read OUTPUT; do su - RealUserName -c "DISPLAY=':0.0' notify-send \"$OUTPUT\""; done