如何从crontab运行bash脚本并将输出发送到桌面通知

问题描述 投票:0回答:1

每次我启动进入系统(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
linux bash cron cron-task raid
1个回答
0
投票

此工作在我的PC中(更改用户名):

sudo mdadm --detail /dev/md0 | grep 'Working Devices :' | while read OUTPUT; do su - RealUserName -c "DISPLAY=':0.0' notify-send \"$OUTPUT\""; done
© www.soinside.com 2019 - 2024. All rights reserved.