Linux 如何从crontab运行bash脚本并将输出发送到桌面通知
每次引导到系统(Debian)并在桌面上以通知的形式发送输出时,我都会尝试获取RAID状态。 这与航站楼的预期效果一致:Linux 如何从crontab运行bash脚本并将输出发送到桌面通知,linux,bash,cron,cron-task,raid,Linux,Bash,Cron,Cron Task,Raid,每次引导到系统(Debian)并在桌面上以通知的形式发送输出时,我都会尝试获取RAID状态。 这与航站楼的预期效果一致: sudomdadm--detail/dev/md0 | grep“工作设备:”|读取输出时;不通知发送“$OUTPUT”;完成 但如果我运行指向脚本的crontab作业,它将不起作用: mdadm --detail /dev/md0 | grep 'Working Devices :' | while read OUTPUT; do notify-send "$OUTPUT"
sudomdadm--detail/dev/md0 | grep“工作设备:”|读取输出时;不通知发送“$OUTPUT”;完成
但如果我运行指向脚本的crontab作业,它将不起作用:
mdadm --detail /dev/md0 | grep 'Working Devices :' | while read OUTPUT; do notify-send "$OUTPUT"; done
该脚本设置为可执行脚本,并从crontab root运行,如下所示:
@reboot /PATH/scripth.sh
这也行不通:
* * * * * /PATH/scripth.sh
在以下情况下,不会生成日志:
* * * * * /PATH/scripth.sh > /PATH/crontab.log
在我的电脑中工作(更改用户名):
尝试在第一个字符串中添加脚本:导出显示=:“0.01”,将错误添加到日志:“****/PATS/Script,Stry/PATH/CRONTAB.log 2>1”,并检查CRONTAB.Logu可能会考虑接受该答案,如果它对您有用的话。
sudo mdadm --detail /dev/md0 | grep 'Working Devices :' | while read OUTPUT; do su - RealUserName -c "DISPLAY=':0.0' notify-send \"$OUTPUT\""; done